Go 言語の Exit 関数

GolangGolangBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Exit 実験は、Go 言語の os.Exit 関数を使って指定されたステータスで即座に終了する能力をテストするために設計されています。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/NetworkingGroup(["Networking"]) go/NetworkingGroup -.-> go/exit("Exit") subgraph Lab Skills go/exit -.-> lab-15474{{"Go 言語の Exit 関数"}} end

終了

この実験で解くべき問題は、os.Exit 関数を使って特定のステータスコードで Go プログラムを終了させることです。

この実験を完了するには、Go プログラミングと os パッケージに関する基本的な知識が必要です。

## `go run` を使って `exit.go` を実行すると、
## 終了は `go` によって拾われて表示されます。
$ go run exit.go
exit status 3

## バイナリをビルドして実行することで、
## 端末でステータスを確認できます。
$ go build exit.go
$./exit
$ echo $?
3

## プログラムからの `!` は表示されませんでしたことに注意してください。

以下に完全なコードがあります:

// `os.Exit` を使って指定されたステータスで即座に終了します。

package main

import (
	"fmt"
	"os"
)

func main() {

	// `os.Exit` を使用する場合、`defer` は実行されません。
	// したがって、この `fmt.Println` は決して呼び出されません。
	defer fmt.Println("!")

	// ステータス 3 で終了します。
	os.Exit(3)
}

// たとえば C 言語とは異なり、Go は `main` からの整数戻り値を使って
// 終了ステータスを示しません。非ゼロのステータスで終了したい場合は、
// `os.Exit` を使用する必要があります。

まとめ

この実験では、特定のステータスコードで Go プログラムを即座に終了させるために os.Exit 関数をどのように使用するかを学びました。他のプログラミング言語とは異なり、Go は main からの整数戻り値を使って終了ステータスを示さないことを忘れないでください。