Mengenal Context.WithValue Pada Bahasa Pemrograman Go

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
Mengenal Context.WithValue Pada Bahasa Pemrograman Go
Lenovo Yoga 7i 2in1 14IML9 0WID Intel Core Ultra 5

Lenovo Yoga 7i 2in1 14IML9 0WID Intel Core Ultra 5

Lenovo Yoga 7 2-in-1 14IML9 83DJ000WID ULTRA 5-125H/16GB/512GB/TS 14.0 OLED/WIN11+OHS2021/TIDAL TEAL - Yoga 7 2-in-1 14IML9 - Part Number : 83DJ000WID - PERFORMANCE: Processor Intel® Core™ Ultra 5 125H, 14C (4P + 8E + 2LPE) / 18T, Max Turbo up to 4.5GHz, 18MB - Graphics Integrated Intel® Arc™ Graphics - Chipset Intel® SoC Platform - Memory 16GB Soldered LPDDR5x-7467

Free Klik Disini !

Conteks adalah paket Golang standar yang membawa tenggat waktu, sinyal pembatalan, dan nilai-nilai permintaan-scoped lainnya melintasi batas-batas antar proses API.


A) Untuk Hal Apa Context digunakan ?


Hal paling sederhana dari context ialah kita dapat mengirim nilai atau data (object, string, dsb) melalui context dan nilai tersebut akan dapat diakses di seluruh turunan context yang terhubung. Misalnya,

ctx := context.WithValue(parentContext, key, value)


  • parentContext : merupakan parent (induk) dari context tersebut

  • key: merupakan key yang akan digunakan untuk mengambil data pada context, dan

  • value: merupakan nilai yang akan dikirim context dan semua turunannya.


context.Contextdibuat untuk setiap permintaan oleh net/http, dan tersedia dengan Context()metode.

 

B) Contoh penggunaan context.WithValue


Perhatikan sample code sederhana dibawah ini:

package main

import (
"context"
"fmt"
)

func main() {
ctx := context.Background()
ctx = addValue(ctx)
readValue(ctx)
}

func addValue(ctx context.Context) context.Context {
return context.WithValue(ctx, "key", "test value")
}

func readValue(ctx context.Context) {
val := ctx.Value("key")
fmt.Println(val)
}

Baca artikel lainya :