Sobes.tech
Junior — Middle

Go tilida context.WithValue funksiyasidan nima uchun foydalanilishini va qanday ishlashini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Go'da context.WithValue funksiyasi yangi kontekst yaratish uchun ishlatiladi, u kalit-qiymat juftligini o'z ichiga oladi. Bu qo'shimcha ma'lumotlarni chaqiriqlar zanjirida uzatishga imkon beradi, funksiyalar imzolarini o'zgartirmasdan.

Shunday ishlaydi: siz asl kontekst, kalit va qiymatni taqdim etasiz va context.Value(key) yordamida bu qiymatni chiqaradigan yangi kontekst olasiz.

Misol:

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

userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Chiqishi: 42

Kalitlar uchun noyob turlarni ishlatish muhim, masalan, kalitlar uchun o'z turingizni aniqlash.