/
Вопросы и ответы
/
Go
/

defer golang что это

defer golang что это

2 года назад

Nikolai Gagarinov

Ответы

2

defer в Golang - это ключевое слово, которое используется для отложенного выполнения функции или метода до тех пор, пока текущая функция не завершится. Когда встречается оператор defer, Golang добавляет вызов функции или метода в стек отложенных вызовов, а затем продолжает выполнение текущей функции.

defer может быть использовано для управления ресурсами, таких как файлы или сетевые соединения, чтобы гарантировать, что они будут закрыты независимо от того, как завершится функция. Он также может быть использован для обработки ошибок, когда функция должна быть завершена раньше времени.

Вот пример, который показывает использование defer для закрытия файла:

package main

import (
	"fmt"
	"os"
)

func main() {
	file, err := os.Open("example.txt")
	if err != nil {
		panic(err)
	}

	// Закрыть файл после завершения функции
	defer file.Close()

	// ... Код для чтения файла ...
}

В этом примере мы открываем файл example.txt и затем используем defer для закрытия файла после того, как функция завершится. Если произойдет ошибка при открытии файла, программа вызовет функцию panic, которая приведет к немедленному завершению программы.

2 года назад

Даниил Першин