
에러 처리
Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover
20 면접 질문·
Junior
1Go에서 에러를 표현하는 데 사용되는 인터페이스는 무엇입니까?
1
Go에서 에러를 표현하는 데 사용되는 인터페이스는 무엇입니까?
답변
error 인터페이스는 Go에서 에러 상태를 표현하기 위한 사전 정의된 인터페이스입니다. 에러를 설명하는 문자열을 반환하는 Error() 메서드 하나만 포함합니다. nil 값은 에러가 없음을 나타냅니다. 이는 표준 라이브러리의 모든 패키지와 Go 개발자가 에러를 알리고 전파하기 위해 사용하는 관례적인 인터페이스입니다.
2Go에서 정적 메시지를 가진 간단한 에러를 어떻게 생성합니까?
2
Go에서 정적 메시지를 가진 간단한 에러를 어떻게 생성합니까?
답변
errors 패키지의 errors.New() 함수는 정적 메시지를 가진 간단한 에러를 생성합니다. 제공된 메시지로 error 인터페이스를 구현하는 error 타입을 반환합니다. 이 방식은 sentinel 에러(os.ErrNotExist 같은 사전 정의된 에러)나 동적 컨텍스트가 없는 간단한 에러를 생성하는 데 권장됩니다. 동적 메시지에는 fmt.Errorf()를 사용하세요.
3동적으로 포맷된 메시지를 가진 에러를 생성할 수 있는 함수는 무엇입니까?
3
동적으로 포맷된 메시지를 가진 에러를 생성할 수 있는 함수는 무엇입니까?
답변
fmt.Errorf() 함수는 포맷 동사(%s, %d, %v 등)를 사용하여 동적으로 포맷된 메시지를 가진 에러를 생성합니다. 또한 기존 에러를 래핑하기 위한 특수 동사 %w를 지원하여 나중에 검사할 수 있도록 에러 체인을 보존합니다. 이는 원래 에러를 유지하면서 에러에 컨텍스트를 추가하는 권장 방법입니다.
4
fmt.Errorf()로 에러를 래핑할 수 있는 포맷 동사는 무엇입니까?
5
래핑된 에러가 특정 에러와 일치하는지 확인하는 함수는 무엇입니까?
+17 면접 질문
기타 Go 면접 주제
Go 기초
Junior
25개 질문Go 데이터 구조
Junior
20개 질문Go 인터페이스
Junior
18개 질문Goroutine 기초
Junior
20개 질문Channels
Junior
22개 질문Go Modules
Mid-Level
18개 질문HTTP 서버
Mid-Level
24개 질문HTTP 클라이언트
Mid-Level
18개 질문JSON 인코딩
Mid-Level
20개 질문Database/SQL
Mid-Level
22개 질문context 패키지
Mid-Level
20개 질문Testing
Mid-Level
22개 질문동시성 패턴
Mid-Level
24개 질문동기화 프리미티브
Mid-Level
22개 질문Go 웹 프레임워크
Mid-Level
20개 질문REST API 설계
Mid-Level
20개 질문gRPC
Mid-Level
22개 질문Reflection
Senior
20개 질문메모리 관리
Senior
24개 질문성능 최적화
Senior
22개 질문Generics
Senior
20개 질문Go Design Patterns
Senior
24개 질문Microservices
Senior
24개 질문보안 및 인증
Senior
24개 질문Docker & Containerization
Senior
20개 질문Kubernetes Basics
Senior
22개 질문고급 Go
Senior
20개 질문CLI 개발
Senior
20개 질문