Middle+
Je možné vložiť štruktúru do kontextu pomocou context.WithValue?
sobes.tech AI
Odpoveď od AI
Áno, v Go môžete vložiť štruktúru do kontextu pomocou context.WithValue. Je však dôležité si uvedomiť, že kontext je určený na prenos údajov súvisiacich s požiadavkou, ako sú časové limity, deadliny a metadáta, a nie na prenos veľkých alebo meniteľných štruktúr.
Príklad:
type User struct {
ID int
Name string
}
ctx := context.Background()
user := &User{ID: 1, Name: "Alice"}
ctx = context.WithValue(ctx, "user", user)
// Získanie
u, ok := ctx.Value("user").(*User)
if ok {
fmt.Println(u.Name)
}
Odporúča sa používať typy kľúčov, ktoré nekolidujú s inými balíkmi, napríklad vlastné typy kľúčov, aby sa predišlo kolíziám.