今回は軽めの小ネタで。 「エラー・ハンドリングについて」でも少し説明したが, Go 言語では回復不能のエラー(ゼロ除算やメモリ不足など)が発生した場合には panic を投げる仕様になっている。 たとえば以下のコードでは package main import ( "fmt" "os" ) func main() { os.Exit(run()) } func run() int { f() return 0 } func f() { numbers := []int{0, 1, 2} fmt.Println(numbers[3]) //panic! } 以下のスタック情報が標準エラー出力に表示される1。 (The Go Playground での実行結果) panic: runtime error: index out of range goroutine 1 [running]: ma
