Junior — Middle
Vai vienā funkcijā var būt vairāki defer operatori?
sobes.tech AI
Atbilde no AI
Jā, Go valodā vienā funkcijā var izmantot vairākus defer operatorus. Visas atliktās izsaukšanas tiks izpildītas pretējā secībā (LIFO) pēc funkcijas pabeigšanas. Tas ir noderīgi resursu atbrīvošanai, failu aizvēršanai, mutexu atbloķēšanai utt.
Piemērs:
func piemērs() {
defer fmt.Println("Pirmais defer")
defer fmt.Println("Otrais defer")
fmt.Println("Funkcijas iekšpusē")
}
// Izvade būs:
// Funkcijas iekšpusē
// Otrais defer
// Pirmais defer