Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot, kam paredzēta funkcija context.WithValue Go un kā tā darbojas?

sobes.tech AI

Atbilde no AI

Funkcija context.WithValue Go valodā tiek izmantota, lai izveidotu jaunu kontekstu, kas satur atslēgas-vērtības pāri. Tas ļauj pārsūtīt papildu datus caur izsaukumu ķēdi, nemainot funkciju parakstus.

Tā darbojas šādi: jūs nododat sākotnējo kontekstu, atslēgu un vērtību, un saņemat jaunu kontekstu, no kura varat izvilkt šo vērtību, izmantojot context.Value(key).

Piemērs:

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

userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Izvadīs: 42

Ir svarīgi izmantot unikālus atslēgu tipus, lai izvairītos no konfliktiem, piemēram, definējot savu tipu atslēgām.