Функция os.Exit
Функция os.Exit завершает работу текущей программы
немедленно. В качестве аргумента она принимает целочисленный
код выхода: 0 обычно означает успешное завершение,
а любой ненулевой код сигнализирует об ошибке.
После вызова os.Exit отложенные функции
(defer) не выполняются, а вывод в буферизированные
потоки может быть потерян.
Синтаксис
os.Exit(code)
Пример
Давайте завершим программу с кодом успешного выполнения:
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("Starting program...")
os.Exit(0)
fmt.Println("This line will not be printed")
}
Результат выполнения кода:
"Starting program..."
Пример
Давайте завершим программу с кодом ошибки:
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("An error occurred")
os.Exit(1)
}
Результат выполнения кода:
"An error occurred"
Пример
Обратите внимание, что defer не выполняется после
вызова os.Exit:
package main
import (
"fmt"
"os"
)
func main() {
defer fmt.Println("Deferred message")
os.Exit(0)
}
Результат выполнения кода:
(empty output)
Смотрите также
-
функцию
os.Args,
которая возвращает аргументы командной строки -
функцию
os.Getenv,
которая получает значение переменной окружения -
функцию
os.Getpid,
которая возвращает идентификатор текущего процесса -
функцию
os.Process.Kill,
которая принудительно завершает процесс