Senior
Co je to defer v Go? Co vypíše kód se dvěma defer?
sobes.tech AI
Odpověď od AI
V jazyce Go se klíčové slovo defer používá k odložení volání funkce: bude provedeno po dokončení obklopující funkce, ale před jejím návratem.
Pokud je ve funkci více defer, jsou vykonány v opačném pořadí, než byly deklarovány (zásobník volání).
Příklad:
package main
import "fmt"
func main() {
defer fmt.Println("První defer")
defer fmt.Println("Druhý defer")
fmt.Println("Hlavní kód")
}
Výstup bude:
Hlavní kód
Druhý defer
První defer
To znamená, že nejprve se vykoná hlavní kód, a poté odložené volání v opačném pořadí.