Junior — Middle
Môže mať funkcia viacero operátorov defer?
sobes.tech AI
Odpoveď od AI
Áno, v jazyku Go je možné použiť viacero operátorov defer v jednej funkcii. Všetky odložené volania budú vykonané v opačnom poradí (LIFO) po ukončení funkcie. Je to užitočné na uvoľnenie zdrojov, zatvorenie súborov, odomknutie mutexov a pod.
Príklad:
func príklad() {
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