Sobes.tech
Junior — Middle

Ko je svrha metode Done u kontekstu razvoja softvera?

sobes.tech АИ

Одговор од АИ

U Go, metoda Done obično je povezana s kontekstom (context.Context) i koristi se za signalizaciju završetka operacije ili njenog otkazivanja. Kada se pozove metoda Done(), ona vraća kanal koji se zatvara kada operacija treba biti prekinuta (npr. zbog timeout-a ili otkazivanja). Ovo omogućava gorutinama da prate taj kanal i pravilno završe rad.

Primer upotrebe:

ctx, cancel := context.WithCancel(context.Background())

go func() {
    select {
    case <-ctx.Done():
        fmt.Println("Operacija otkazana")
        return
    // drugi slučajevi
    }
}()

// kasnije
cancel() // signal za završetak

Na ovaj način, metoda Done pomaže u upravljanju životnim ciklusom operacija i sprečava curenje resursa.