Go

Go 인터페이스

인터페이스, type assertion, type switch, empty interface, error interface

18 면접 질문·
Junior
1

Go에서 인터페이스란 무엇입니까?

답변

Go의 인터페이스는 메서드 시그니처의 집합을 정의하는 타입입니다. 타입은 명시적인 선언 없이 모든 메서드를 정의함으로써 암묵적으로 인터페이스를 구현합니다. 이를 통해 Go 프로그램 설계에서 강한 디커플링과 유연성을 얻을 수 있습니다.

2

Go에서 타입은 어떻게 인터페이스를 구현합니까?

답변

Go에서 인터페이스 구현은 암묵적입니다. 타입이 인터페이스의 모든 메서드를 정의하기만 하면 됩니다. (Java의 'implements'와 같은) 명시적인 선언은 필요하지 않습니다. 이를 통해 기존 타입의 소스 코드를 수정하지 않고도 인터페이스를 추가할 수 있습니다.

3

Go에서 empty interface(interface{})의 특별한 점은 무엇입니까?

답변

empty interface(interface{})는 어떤 메서드도 정의하지 않으므로 모든 타입이 자동으로 이를 구현합니다. 따라서 어떤 타입의 값이든 담을 수 있습니다. Go 1.18부터는 명확성을 위해 사전 선언된 타입 'any'의 별칭으로 사용됩니다.

4

Go 1.18부터 interface{} 타입의 별칭은 무엇입니까?

5

Go에서 type assertion의 구문은 무엇입니까?

+15 면접 질문

다음 면접을 위해 Go을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기