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.