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