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.