Go Goto 문 (goto)
Go Goto 문(goto)
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
최종 수정 : 2023-03-26