Junior — Middle
Môžete vysvetliť princíp fungovania a použitie konštrukcie defer v jazyku Go?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa kľúčové slovo defer používa na odložené volanie funkcie: tá bude vykonaná v momente opustenia aktuálnej funkcie, bez ohľadu na to, ako presne k tomu dôjde (normálne alebo kvôli chybe). To je užitočné na uvoľnenie zdrojov, zatváranie súborov, odomykanie mutexov a iné operácie čistenia.
Príklad:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // súbor sa zatvorí pri opustení funkcie
// práca so súborom
return nil
}
Týmto spôsobom defer pomáha písať čistejší a bezpečnejší kód, zabezpečuje vykonanie dôležitých záverečných akcií.