Middle
Čo je to defer a na čo sa používa? V akom poradí sa vykonávajú defer volania, ak ich je viac v jednej funkcii?
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. To je užitočné na uvoľnenie zdrojov, zatvorenie súborov, odomknutie mutexov a iné operácie čistenia.
Ak je v jednej funkcii viacero volaní defer, sú vykonané v opačnom poradí, než boli deklarované (zásobník). To znamená, že posledný deklarovaný defer bude vykonaný ako prvý.
Príklad:
func priklad() {
defer fmt.Println("Prvý defer")
defer fmt.Println("Druhý defer")
fmt.Println("V tele funkcie")
}
// Výstup bude:
// V tele funkcie
// Druhý defer
// Prvý defer