Sobes.tech
Junior — Middle

W którym momencie w procesie wykonywania kodu Go wywoływany jest operator defer?

sobes.tech AI

Odpowiedź od AI

Instrukcja defer w Go opóźnia wykonanie wskazanej funkcji do momentu opuszczenia funkcji, w której została zadeklarowana. Oznacza to, że wywołanie funkcji przekazanej do defer następuje tuż przed zwróceniem z bieżącej funkcji. Jest to przydatne do zwalniania zasobów, zamykania plików, odblokowywania mutexów itp.

Przykład:

func przykład() {
    defer fmt.Println("Opóźnione wywołanie")
    fmt.Println("Główny kod")
}
// Wyjście będzie:
// Główny kod
// Opóźnione wywołanie