Введение
Экспериментальный раздел Exit предназначен для проверки ваших способностей использовать функцию os.Exit
в Go для немедленного выхода с заданным статусом.
This tutorial is from open-source community. Access the source code
💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал
Экспериментальный раздел Exit предназначен для проверки ваших способностей использовать функцию os.Exit
в Go для немедленного выхода с заданным статусом.
Задача, которую необходимо решить в этом экспериментальном разделе, — это выйти из программы на Go с определенным кодом статуса с использованием функции os.Exit
.
Для завершения этого экспериментального раздела вам понадобится базовое понимание программирования на Go и пакета os
.
## Если вы запустите `exit.go` с использованием `go run`,
## выход будет перехвачен `go` и выведен.
$ go run exit.go
exit status 3
## Сбором и выполнением бинарника вы можете увидеть
## статус в терминале.
$ go build exit.go
$./exit
$ echo $?
3
## Обратите внимание, что `!` из нашей программы
## никогда не был напечатан.
Ниже представлен полный код:
// Используйте `os.Exit`, чтобы немедленно выйти с заданным
// статусом.
package main
import (
"fmt"
"os"
)
func main() {
// `defer` не будет выполняться при использовании `os.Exit`,
// поэтому эта `fmt.Println` никогда не будет вызвана.
defer fmt.Println("!")
// Выйти с статусом 3.
os.Exit(3)
}
// Обратите внимание, что, в отличие от, например, C, Go
// не использует целочисленное возвращаемое значение из `main`,
// чтобы указать статус выхода. Если вы хотите выйти с
// ненулевым статусом, вы должны использовать `os.Exit`.
В этом экспериментальном разделе вы узнали, как использовать функцию os.Exit
для немедленного выхода из программы на Go с определенным кодом статуса. Помните, что, в отличие от других языков программирования, Go не использует целочисленное возвращаемое значение из main
, чтобы указать статус выхода.