Senior
Šta je defer u Go? Šta će prikazati kod sa dva defer?
sobes.tech АИ
Одговор од АИ
U jeziku Go, ključna reč defer se koristi za odlaganje poziva funkcije: ona će biti izvršena nakon što se završi okružujuća funkcija, ali pre njenog povratka.
Ako u funkciji postoji više defer, one se izvršavaju u obrnutom redosledu od onog u kojem su deklarisane (stog poziva).
Primer:
package main
import "fmt"
func main() {
defer fmt.Println("Prvi defer")
defer fmt.Println("Drugi defer")
fmt.Println("Glavni kod")
}
Izlaz će biti:
Glavni kod
Drugi defer
Prvi defer
To znači da se prvo izvršava glavni kod, a zatim odloženi pozivi u obrnutom redosledu.