выход

This commit is contained in:
badkaktus 2019-10-12 22:05:08 +03:00
parent c232a309a6
commit 91192b8a4f
3 changed files with 18 additions and 15 deletions

View File

@ -71,4 +71,4 @@ HTTP серверы (HTTP Servers)
Порождающие процессы (Spawning Processes) Порождающие процессы (Spawning Processes)
Исполняющие процессы (Exec'ing Processes) Исполняющие процессы (Exec'ing Processes)
Сигналы (Signals) Сигналы (Signals)
Exit Выход (Exit)

View File

@ -1,5 +1,5 @@
// Use `os.Exit` to immediately exit with a given // Используйте `os.Exit` для немедленного выхода с
// status. // полученныем статусом.
package main package main
@ -10,15 +10,17 @@ import (
func main() { func main() {
// `defer`s will _not_ be run when using `os.Exit`, so // `defer` _не будет_ запускаться при использовании
// this `fmt.Println` will never be called. // `os.Exit`, поэтому этот `fmt.Println` никогда не
// будет вызываться.
defer fmt.Println("!") defer fmt.Println("!")
// Exit with status 3. // Выход со статусом 3.
os.Exit(3) os.Exit(3)
} }
// Note that unlike e.g. C, Go does not use an integer // Обратите внимание, что в отличие, например, от C,
// return value from `main` to indicate exit status. If // Go не использует целочисленное возвращаемое значение
// you'd like to exit with a non-zero status you should // из `main`, чтобы указать состояние выхода. Если
// use `os.Exit`. // вы хотите выйти с ненулевым статусом, вы должны
// использовать `os.Exit`.

View File

@ -1,13 +1,14 @@
# If you run `exit.go` using `go run`, the exit # Если вы запустите `exit.go` с помощью `go run`,
# will be picked up by `go` and printed. # выход будет выбран `go` и напечатан.
$ go run exit.go $ go run exit.go
exit status 3 exit status 3
# By building and executing a binary you can see # Создавая и выполняя двоичный файл, вы можете
# the status in the terminal. # увидеть статус в терминале.
$ go build exit.go $ go build exit.go
$ ./exit $ ./exit
$ echo $? $ echo $?
3 3
# Note that the `!` from our program never got printed. # Обратите внимание, что `!` из нашей программы
# никогда не был напечатан.