Sobes.tech
Junior — Middle

Jaký je cíl použití kontextu ve vašem projektu nebo kódu?

sobes.tech AI

Odpověď od AI

V jazyce Go se kontext (context.Context) používá k přenosu informací o stavu provádění, jako jsou časové limity, lhůty a zrušení operací, a také k přenosu hodnot mezi gorutinami.

Cílem použití kontextu:

  • Řízení životního cyklu požadavků a operací (například zrušení HTTP požadavku při uzavření klienta).
  • Přenos metadat (například identifikátory požadavků pro logování).
  • Zajištění zrušení řetězce volání podle potřeby.

Příklad použití:

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

// Předáváme ctx do funkce, která může být přerušena časovým limitem
result, err := doSomething(ctx)
if err == context.DeadlineExceeded {
    fmt.Println("Operace byla přerušena kvůli překročení časového limitu")
}

Tímto způsobem kontext pomáhá řídit provádění a vyměňovat data mezi komponentami aplikace.