لغة Go بالأمثلة: الخروج

استخدم os.Exit للخروج فورًا بحالة محددة.

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

لن تُنفذ استدعاءات defer عند استخدام os.Exit، ولذلك لن تُستدعى fmt.Println هذه مطلقًا.

    defer fmt.Println("!")

اخرج بالحالة 3.

    os.Exit(3)
}

لاحظ أن Go، بخلاف C مثلًا، لا تستخدم قيمة إرجاع صحيحة من main للدلالة على حالة الخروج. إذا أردت الخروج بحالة غير صفرية، فعليك استخدام os.Exit.

إذا شغّلت exit.go باستخدام go run، فستلتقط go حالة الخروج وتطبعها.

$ go run exit.go
exit status 3

يمكنك رؤية الحالة في الطرفية ببناء ملف تنفيذي وتشغيله.

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

لاحظ أن العلامة ! من برنامجنا لم تُطبع قط.