Senior
Čo je to defer v Go? Čo vypíše kód s dvoma defer?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa kľúčové slovo defer používa na odložené volanie funkcie: bude vykonané po dokončení obklopujúcej funkcie, ale pred jej návratom.
Ak je vo funkcii viac defer, sú vykonané v opačnom poradí, než boli deklarované (zásobník volaní).
Príklad:
package main
import "fmt"
func main() {
defer fmt.Println("Prvý defer")
defer fmt.Println("Druhý defer")
fmt.Println("Hlavný kód")
}
Výstup bude:
Hlavný kód
Druhý defer
Prvý defer
To znamená, že najskôr sa vykoná hlavný kód, a potom odložené volania v opačnom poradí.