Middle+
Contextga structni context.WithValue yordamida qo'yish mumkinmi?
sobes.tech AI
AIdan javob
Ha, Go'da context.WithValue yordamida tuzilmani kontekstga joylashtirish mumkin. Biroq, kontekst so'rov bilan bog'liq ma'lumotlarni, masalan, vaqt chegaralari, muddatlar va metama'lumotlarni uzatish uchun mo'ljallanganligini, katta yoki o'zgartiriladigan tuzilmalarni uzatish uchun emasligini esda tutish muhimdir.
Misol:
type User struct {
ID int
Name string
}
ctx := context.Background()
user := &User{ID: 1, Name: "Alice"}
ctx = context.WithValue(ctx, "user", user)
// Olish
u, ok := ctx.Value("user").(*User)
if ok {
fmt.Println(u.Name)
}
Kalit turlaridan foydalanish tavsiya etiladi, ular boshqa paketlar bilan to'qnashuvlarni oldini olish uchun, masalan, o'z kalit turlarini ishlatish, to'qnashuvlarni oldini olish uchun.