`error` 인터페이스
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 103번째.
Go에서 error interface는 error 상태를 나타내는 내장 type입니다. Error() 메서드를 구현하는 모든 type은 이 interface를 충족합니다.
다음은 error interface 정의입니다:
type error interface {
Error() string
}사용자 정의 에러 타입을 생성합니다:
type MyError struct {
Message string
}
func (e MyError) Error() string {
return e.Message
}
func main() {
err := MyError{Message: "something went wrong"}
fmt.Println(err)
}출력은 다음과 같습니다:
something went wrong챌린지
쉬움이 챌린지에서는 Go의 error interface를 다루게 됩니다. errors.New() function을 사용하여 커스텀 error를 생성하고 error가 존재하는지 check해야 합니다.
코드에는 이미 error를 return하는 function이 있습니다. 여러분이 할 일은 error가 nil이 아닌지 check하고 적절한 message를 print하는 것입니다.
직접 해보기
package main
import (
"errors"
"fmt"
)
func main() {
// 이 함수는 에러를 반환합니다
err := generateError()
// TODO: err가 nil이 아닌지 확인하세요
// err가 nil이 아니면 "Error occurred: " 뒤에 에러 메시지를 출력하세요
// HINT: if 문을 사용해 err != nil인지 확인하세요
// 이 줄은 에러 발생 여부와 관계없이 실행됩니다
fmt.Println("Program completed successfully")
}
// 이 함수는 에러를 생성합니다
func generateError() error {
return errors.New("something went wrong")
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입