Junior — Middle
Sistemde bağlam yapılandırması nasıl gerçekleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, (context.Context) bağlam, işlemlerin yaşam süresi, iptal edilmesi ve diğer önemli verilerin goroutine'ler ve fonksiyonlar arasında iletimi için kullanılır. Bağlamın yapılandırılması genellikle context.WithCancel, context.WithTimeout, context.WithDeadline ve context.WithValue fonksiyonları kullanılarak yapılır.
Zaman aşımı olan ve değer iletimi yapılan bir bağlam oluşturma örneği:
ctx := context.Background()
ctx, cancel := context.WithTimeout(ctx, time.Second*5)
defer cancel()
ctx = context.WithValue(ctx, "userID", 12345)
// Daha sonra, ctx, zaman aşımıyla işlemi iptal edebilecek veya userID'yi alabilecek fonksiyonlara iletilir
Bu şekilde, bağlamın yapılandırılması, ana bağlamdan yeni bir bağlam oluşturarak gerekli parametrelerle (iptal, zaman aşımı, değerler) yapılır.