Go by Example: Exit

Berilgan status bilan darhol chiqish uchun os.Exit dan foydalaning.

package main
import (
    "fmt"
    "os"
)
func main() {

os.Exit dan foydalanganda deferlar ishga tushmaydi, shuning uchun bu fmt.Println hech qachon chaqirilmaydi.

    defer fmt.Println("!")

3-status bilan chiqamiz.

    os.Exit(3)
}

E’tibor bering, masalan C’dan farqli o’laroq, Go chiqish statusini bildirish uchun main dan butun sonli qaytariladigan qiymatdan foydalanmaydi. Agar noldan farqli status bilan chiqmoqchi bo’lsangiz, os.Exit dan foydalanishingiz kerak.

Agar exit.go ni go run yordamida ishga tushirsangiz, chiqish go tomonidan qabul qilinadi va chop etiladi.

$ go run exit.go
exit status 3

Binar faylni build qilib bajarish orqali statusni terminalda ko’rishingiz mumkin.

$ go build exit.go
$ ./exit
$ echo $?
3

E’tibor bering, dasturimizdagi ! hech qachon chop etilmadi.