[go] Go 언어에서의 에러 타입

Go 언어는 에러(error)를 다루는데 특별한 방식을 제공합니다. Go 언어의 에러 타입에 대해 알아보겠습니다.

1. 에러 인터페이스

Go 언어에서의 기본적인 에러 타입은 error 인터페이스입니다. 이 인터페이스는 다음과 같이 정의되어 있습니다.

type error interface {
    Error() string
}

error 인터페이스는 Error 메서드를 갖고 있는데, 이 메서드는 에러를 나타내는 문자열을 반환합니다.

2. 사용자 정의 에러 타입

Go 언어에서는 사용자가 직접 에러 타입을 정의할 수 있습니다. 이를 통해 더 많은 정보를 에러에 포함시킬 수 있습니다. 예를 들어, 다음과 같이 사용자 정의 타입을 만들어 사용할 수 있습니다.

type MyError struct {
    Msg  string
    Code int
}

위 예제에서 MyError 구조체는 MsgCode 필드를 가지고 있습니다.

3. 에러 처리

Go 언어에서는 에러 처리를 위해 일반적으로 다음과 같이 if 문을 사용합니다.

result, err := SomeFunction()
if err != nil {
    return err
}

위 코드에서 SomeFunction이 에러를 반환하면, err 변수에 에러가 할당되고 이를 처리할 수 있습니다.

결론

Go 언어에서의 에러 타입은 간단하면서도 유연하게 다룰 수 있도록 설계되어 있습니다. 기본적으로 제공되는 error 인터페이스를 사용하거나 사용자 정의 타입을 만들어 더 많은 정보를 포함시킬 수 있습니다.

참고 자료