Sobes.tech
Junior — Middle

Projenizde veya kodunuzda bağlam kullanmanın amacı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, bağlam (context.Context), yürütme durumu hakkında bilgi iletmek için kullanılır; bu, zaman aşımı, son tarihler ve işlemlerin iptali gibi bilgileri içerir ve goroutine'ler arasında değerlerin iletimi için de kullanılır.

Bağlam kullanımının amacı:

  • İsteklerin ve işlemlerin yaşam döngüsünü yönetmek (örneğin, istemci kapatıldığında HTTP isteğini iptal etmek).
  • Meta verilerin iletimi (örneğin, günlük kaydı için istek kimlikleri).
  • Gerekirse çağrı zincirinin iptal edilmesini sağlamak.

Kullanım örneği:

ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

// ctx'yi, zaman aşımı nedeniyle kesilebilecek bir fonksiyona geçiriyoruz
result, err := doSomething(ctx)
if err == context.DeadlineExceeded {
    fmt.Println("İşlem zaman aşımı nedeniyle iptal edildi")
}

Bu şekilde, bağlam, uygulama bileşenleri arasında yürütmeyi kontrol etmeye ve veri alışverişi yapmaya yardımcı olur.