Sobes.tech
Junior — Middle

Ar galite paaiškinti, kam naudojama funkcija context.WithValue Go ir kaip ji veikia?

sobes.tech AI

Atsakymas iš AI

„context.WithValue“ funkcija Go kalba naudojama kuriant naują kontekstą, kuris turi porą raktas-reikšmė. Tai leidžia perduoti papildinius duomenis per kvietimų grandinę, nekeičiant funkcijų parašų.

Veikia taip: pateikiate pradinį kontekstą, raktą ir reikšmę, ir gaunate naują kontekstą, iš kurio galite išgauti šią reikšmę naudodami context.Value(key).

Pavyzdys:

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

userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Išves: 42

Svarbu naudoti unikalius raktų tipus, kad išvengtumėte konfliktų, pavyzdžiui, apibrėžiant savo tipą raktams.