package main
import (
"fmt"
"os"
)
func main() {
// os.Exit chaqirilganda defer bajarilmaydi — bu println ishga tushmaydi
defer fmt.Println("!")
// Status 3 bilan chiqish
os.Exit(3)
}
Eslatma: C dagidan farqli, Go da main funksiyasidan int qiymat qaytarib status ko‘rsatilmaydi. Nol bo‘lmagan status bilan chiqish uchun os.Exit dan foydalaning.
go run bilan ishga tushirganda, chiqish statusini go ko‘rsatadi:
$ go run exit.go
exit status 3
Binarni build qilib ishga tushirsangiz, statusni terminalda ko‘rasiz:
$ go build exit.go
$ ./exit
$ echo $?
3
Ko‘rib turganingizdek, dasturdagi ! hech qachon chop etilmadi.