
Reflection
reflect 패키지, 타입 검사, 값 조작, struct tags, 사용 사례, 성능
20 면접 질문·
Senior
1Go의 reflect 패키지란 무엇입니까?
1
Go의 reflect 패키지란 무엇입니까?
답변
reflect 패키지는 런타임에 타입과 값을 검사하고 조작할 수 있게 해줍니다. 제네릭 라이브러리(JSON 마샬링, ORM) 구현에 사용되지만, 타입 안정성과 성능을 희생하므로 애플리케이션 코드에서 직접 사용하는 것은 권장되지 않습니다.
2reflect 패키지로 변수의 타입을 얻으려면 어떻게 해야 합니까?
2
reflect 패키지로 변수의 타입을 얻으려면 어떻게 해야 합니까?
답변
reflect.TypeOf() 함수는 인자로 전달된 인터페이스의 동적 타입을 나타내는 reflect.Type을 반환합니다. 변수가 nil이면 reflect.TypeOf()는 nil을 반환합니다. 반환된 Type에 .Kind()를 사용하면 타입 범주(int, string, struct 등)를 얻을 수 있습니다.
3reflect.Type과 reflect.Value의 차이점은 무엇입니까?
3
reflect.Type과 reflect.Value의 차이점은 무엇입니까?
답변
reflect.Type은 타입의 메타데이터(이름, kind, 메서드, 필드)를 나타내며 reflect.TypeOf()로 얻습니다. reflect.Value는 구체적인 값을 나타내며 reflect.ValueOf()로 읽거나 수정할 수 있습니다. 둘은 상호 보완적입니다. Type은 '무엇'을 설명하고 Value는 '데이터'를 담습니다.
4
reflection을 통해 변수의 값을 어떻게 수정합니까?
5
reflect.Kind란 무엇입니까?
+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개 질문메모리 관리
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개 질문