Go の goto 文
Go の goto 文
goto 文
goto 文は、指定したラベルへジャンプする。
Go は try、catch、raise のような例外処理構文をサポートしていない。同様の制御フローを実装する場合は、次のように記述する。
package main
import (
"fmt"
"errors"
)
func main() {
funcA()
}
func funcA() (string, error) {
var err error
filename := ""
data := ""
filename, err = GetFileName()
if err != nil {
fmt.Println(err)
goto Done
}
data, err = ReadFile(filename)
if err != nil {
fmt.Println(err)
goto Done
}
fmt.Println(data)
Done:
return data, err
}
func GetFileName() (string, error) {
return "sample.txt", nil
}
func ReadFile (filename string) (string, error) {
return "Hello world!", errors.New("Can't read file")
}
sample.txt ファイルが存在しない場合の実行結果:
Can't read file