Ползвайте функцията os.Exit за да излезете незабавно с дадено състояние.
import (
"fmt"
"os"
)
func main() {
Изявленията defer1 няма да се изпълнят след като сме извикали os.Exit,
сирѣч това извикване на fmt.Println няма да се случи.
defer добавя извикване на функция към отделен списък за съдържащата го функция. Този списък със запазени извиквания се изпълнява, след като съдържащата го функция приключи изпълнението си. defer обикновено се използва, за да опрости функции, които извършват различни действия по почистване. Всяка функция може да съдържа множество отложени извиквания (изявления defer). defer е ключова дума в Го и не може да се ползва като име. defer fmt.Println("!")
Изход със състояние 3.
os.Exit(3)
}
Забележете, че за разлика от C, Го не връща цяло число при излизане от
main, за да обозначи състояние при изход. Ако желаете да излезете с
ненулево състояние, трябва да извикате os.Exit и да му подадете цяло
положително число, за да обозначите състоянието на програмата ви при изход.
Ако пуснете exit.go с помощта на go run, изходното състояние ще бъде
прието от go и изведено на екрана.
$ go run exit.go
exit status 3
Ако първо изградите двоичния изпълним файл и после го пуснете, състоянието на
изхода бива записано в променливата $?
$ go build exit.go
$ ./exit
$ echo $?
3
Забележете, че удивителната не бива изведена на екрана.