Sobes.tech
Junior — Middle

В кой момент в процеса на изпълнение на Go кода се извиква операторът defer?

sobes.tech AI

Отговор от AI

Инструкцията defer в Go отлага изпълнението на посочената функция до излизане от обграждащата функция, в която е обявена. Тоест, извикването на функцията, предадена на defer, се случва точно преди връщането от текущата функция. Това е удобно за освобождаване на ресурси, затваряне на файлове, отключване на мьютекси и др.

Пример:

func пример() {
    defer fmt.Println("Отложен извик")
    fmt.Println("Основен код")
}
// Изходът ще бъде:
// Основен код
// Отложен извик