Sobes.tech
Junior — Middle

Go'da context.WithValue fonksiyonunun ne işe yaradığını ve nasıl çalıştığını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da context.WithValue fonksiyonu, anahtar-değer çifti içeren yeni bir bağlam oluşturmak için kullanılır. Bu, fonksiyonların imzalarını değiştirmeden ek verilerin iletilmesine olanak tanır.

İşte nasıl çalışır: orijinal bağlam, anahtar ve değer verirsiniz ve bu değerleri context.Value(key) kullanarak çıkarabileceğiniz yeni bir bağlam elde edersiniz.

Örnek:

ctx := context.Background()
ctxWithValue := context.WithValue(ctx, "userID", 42)

userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Çıktı: 42

Anahtarlar için benzersiz türler kullanmak önemlidir, örneğin, anahtarlar için kendi türünüzü tanımlamak gibi.