Junior — Middle
Контексттердин колдонулушу оправдан жана натыйжалуу болчу учурду сүрөттөп бериң.
sobes.tech AI
AIден жооп
Go'да, контексттер (context.Context) операциялардын жашоо мөөнөтүн башкаруу үчүн колдонулат, өзгөчө асинхрондуу же тармактык чакырууларда. Мисалы, эгерде сизде HTTP сервер болсо, ал суроолорду иштетип жатса жана эгер кардар байланышты үзүп кетсе же күтүүнүн чеги өтсө, контекстти колдонуу ылайыктуу болот.
Мисал:
func handler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
select {
case <-time.After(5 * time.Second):
fmt.Fprintln(w, "Иш аяктады")
case <-ctx.Done():
err := ctx.Err()
fmt.Println("Суроо токтотулду же убакыт аяктады:", err)
}
}
Бул жерде контекст узак мөөнөттүү операцияны кардар байланышты үзсө же убакыт аякса токтотууга мүмкүндүк берет, бул ресурстарды үнөмдөп, тиркеменин жооп берүү жөндөмдүүлүгүн жакшыртат.