Junior
Akú úlohu zohráva konštrukcia defer v jazyku Go?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa konštrukcia defer používa na odložené vykonanie funkcie — bude zavolaná pri opustení aktuálnej funkcie, bez ohľadu na to, ako presne k tomu dôjde (normálne alebo kvôli chybe).
Je to užitočné na uvoľnenie zdrojov, zatvorenie súborov, odomknutie mutexov a iné operácie čistenia.
Príklad:
func readFile() error {
file, err := os.Open("file.txt")
if err != nil {
return err
}
defer file.Close() // súbor sa zatvorí pri opustení funkcie
// práca so súborom
return nil
}
Týmto defer pomáha zabezpečiť vykonanie dôležitých záverečných akcií, zlepšuje správu zdrojov a spracovanie chýb.