Junior — Middle
Můžete vysvětlit princip fungování a použití konstrukce defer v jazyce Go?
sobes.tech AI
Odpověď od AI
V jazyce Go se klíčové slovo defer používá k odložení volání funkce: ta bude provedena v okamžiku opuštění aktuální funkce, bez ohledu na to, jakým způsobem k tomu dojde (normálně nebo kvůli chybě). To je užitečné pro uvolnění zdrojů, zavření souborů, odemknutí mutexů a další operace čištění.
Příklad:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // soubor se zavře při opuštění funkce
// práce se souborem
return nil
}
Tímto způsobem defer pomáhá psát čistší a bezpečnější kód, zajišťuje provedení důležitých závěrečných akcí.