Middle+
Mürəkkəbliyi context.WithValue vasitəsilə kontekstə yerləşdirmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, Go-da context.WithValue istifadə edərək struktur yerləşdirmək mümkündür. Ancaq, kontekstin sorğu ilə əlaqəli məlumatların, məsələn, vaxt limiti, müddət və metadataların ötürülməsi üçün nəzərdə tutulduğunu və böyük və ya dəyişdirilə bilən strukturların ötürülməsi üçün nəzərdə tutulmadığını unutmayın.
Nümunə:
type User struct {
ID int
Name string
}
ctx := context.Background()
user := &User{ID: 1, Name: "Alice"}
ctx = context.WithValue(ctx, "user", user)
// Çəkmək
u, ok := ctx.Value("user").(*User)
if ok {
fmt.Println(u.Name)
}
Açar tiplərinin digər paketlərlə toqquşmaması üçün, məsələn, öz açar tiplərindən istifadə etmək tövsiyə olunur, bu da toqquşmaları önləyir.