Sobes.tech
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)
    }
}

Бул жерде контекст узак мөөнөттүү операцияны кардар байланышты үзсө же убакыт аякса токтотууга мүмкүндүк берет, бул ресурстарды үнөмдөп, тиркеменин жооп берүү жөндөмдүүлүгүн жакшыртат.