Junior
Kokią vaidmenį atlieka konstrukcija defer Go kalboje?
sobes.tech AI
Atsakymas iš AI
Go kalboje defer konstrukcija naudojama funkcijos atidėjimui vykdyti — ji bus iškviesta išėjus iš dabartinės funkcijos, nepriklausomai nuo to, kaip įvyksta išėjimas (įprastai ar dėl klaidos).
Tai naudinga resursų atlaisvinimui, failų uždarymui, mutexų atrakcinimui ir kitoms valymo operacijoms.
Pavyzdys:
func readFile() error {
file, err := os.Open("file.txt")
if err != nil {
return err
}
defer file.Close() // failas bus uždaromas išėjus iš funkcijos
// darbai su failu
return nil
}
Taip defer padeda garantuoti svarbių užbaigimo veiksmų vykdymą, gerindamas išteklių valdymą ir klaidų apdorojimą.