
Generics
Type parameters, constraints, comparable, any, 제네릭 함수, 제네릭 타입, 타입 추론
20 면접 질문·
Senior
1Go에서 type parameter란 무엇입니까?
1
Go에서 type parameter란 무엇입니까?
답변
type parameter는 제네릭 함수나 타입 정의에서 사용되는 타입 변수이며, 대괄호 안에 선언됩니다. type safety를 희생하지 않고 다양한 타입과 함께 작동하는 재사용 가능한 코드를 작성할 수 있게 해줍니다. type parameter는 사용 시 구체적인 type argument로 인스턴스화되어, 컴파일러가 런타임이 아닌 컴파일 타임에 타입 일관성을 검증할 수 있도록 합니다.
2간단한 제네릭 함수를 선언하는 올바른 구문은 무엇입니까?
2
간단한 제네릭 함수를 선언하는 올바른 구문은 무엇입니까?
답변
제네릭 함수를 선언하는 올바른 구문은 type parameter를 정의하기 위해 함수 이름 바로 뒤에 대괄호를 사용합니다. any 제약은 어떤 타입이든 받을 수 있게 해주며, interface{}와 유사하지만 generics 맥락에서는 더 명확한 의미를 가집니다. 이 구문은 언어의 단순성을 유지하면서 제네릭 프로그래밍을 가능하게 하기 위해 Go 1.18에서 도입되었습니다.
3Go에서 'any' 제약은 무엇을 나타냅니까?
3
Go에서 'any' 제약은 무엇을 나타냅니까?
답변
any 제약은 interface{}의 별칭으로, Go에서 가능한 모든 타입의 집합을 나타냅니다. type parameter가 제한 없이 어떤 타입이든 받을 수 있게 하여 최대한의 유연성을 제공합니다. 편리하지만, any를 사용한다는 것은 특정 타입 검사를 포기한다는 의미이며, 기반 타입의 메서드나 속성에 접근하기 위해 종종 type assertion이 필요합니다.
4
제약으로서 'any'와 'comparable'의 주요 차이점은 무엇입니까?
5
stack과 같은 사용자 정의 제네릭 타입을 어떻게 선언합니까?
+17 면접 질문
기타 Go 면접 주제
Go 기초
Junior
25개 질문Go 데이터 구조
Junior
20개 질문Go 인터페이스
Junior
18개 질문에러 처리
Junior
20개 질문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개 질문Go Design Patterns
Senior
24개 질문Microservices
Senior
24개 질문보안 및 인증
Senior
24개 질문Docker & Containerization
Senior
20개 질문Kubernetes Basics
Senior
22개 질문고급 Go
Senior
20개 질문CLI 개발
Senior
20개 질문