Sobes.tech
Junior — Middle

Koji je cilj korišćenja konteksta u vašem projektu ili kodu?

sobes.tech АИ

Одговор од АИ

U Go jeziku, context.Context se koristi za prenošenje informacija o stanju izvršavanja, kao što su vremenska ograničenja, rokovi i otkazivanje operacija, kao i za prenos vrednosti između gorutina.

Svrha korišćenja konteksta:

  • Upravljanje životnim ciklusom zahteva i operacija (npr. otkazivanje HTTP zahteva pri zatvaranju klijenta).
  • Prenos metapodataka (npr. identifikatori zahteva za logovanje).
  • Osiguranje otkazivanja lanca poziva po potrebi.

Primer upotrebe:

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

// Prosleđujemo ctx funkciji koja može biti prekinuta zbog timeout-a
result, err := doSomething(ctx)
if err == context.DeadlineExceeded {
    fmt.Println("Operacija je prekinuta zbog isteka vremena")
}

Na ovaj način, kontekst pomaže u kontroli izvršavanja i razmeni podataka između komponenti aplikacije.