Функция выхода в Go

GolangGolangBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Экспериментальный раздел Exit предназначен для проверки ваших способностей использовать функцию os.Exit в Go для немедленного выхода с заданным статусом.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/NetworkingGroup(["Networking"]) go/NetworkingGroup -.-> go/exit("Exit") subgraph Lab Skills go/exit -.-> lab-15474{{"Функция выхода в Go"}} end

Exit

Задача, которую необходимо решить в этом экспериментальном разделе, — это выйти из программы на 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, чтобы указать статус выхода.