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.