Junior — Middle
В кой момент в процеса на изпълнение на Go кода се извиква операторът defer?
sobes.tech AI
Отговор от AI
Инструкцията defer в Go отлага изпълнението на посочената функция до излизане от обграждащата функция, в която е обявена. Тоест, извикването на функцията, предадена на defer, се случва точно преди връщането от текущата функция. Това е удобно за освобождаване на ресурси, затваряне на файлове, отключване на мьютекси и др.
Пример:
func пример() {
defer fmt.Println("Отложен извик")
fmt.Println("Основен код")
}
// Изходът ще бъде:
// Основен код
// Отложен извик