
Go 데이터 구조
Arrays, slices, maps, structs, pointers, make vs new, nil 값
20 면접 질문·
Junior
1Go의 slice란 무엇입니까?
1
Go의 slice란 무엇입니까?
답변
slice는 기반이 되는 array에 대한 동적 뷰로, 가변 길이의 요소 시퀀스를 다룰 수 있게 해줍니다. 컴파일 시점에 고정 크기가 정해지는 array와 달리, slice는 append 같은 연산을 통해 동적으로 커지거나 줄어들 수 있습니다. 이러한 유연성 덕분에 slice는 동질적인 요소 컬렉션을 저장하기 위해 Go에서 가장 많이 사용되는 순차 데이터 구조입니다.
2Go에서 array와 slice의 주요 차이점은 무엇입니까?
2
Go에서 array와 slice의 주요 차이점은 무엇입니까?
답변
근본적인 차이는 크기에 있습니다. array는 컴파일 시점에 정해지는 고정 크기를 가지며 타입 자체의 일부인 반면, slice는 런타임에 변할 수 있는 동적 크기를 가집니다. 이 차이로 인해 크기가 다른 두 array는 호환되지 않는 타입으로 간주되지만, 같은 요소 타입의 모든 slice는 호환됩니다. 따라서 slice가 더 유연하며 현대 Go 코드에서 더 흔히 사용됩니다.
3Go에서 빈 slice를 어떻게 생성합니까?
3
Go에서 빈 slice를 어떻게 생성합니까?
답변
빈 대괄호 뒤에 빈 중괄호를 쓰는 리터럴 구문은 초기화된 빈 slice를 만드는 관용적인 방법입니다. 이 방식은 길이가 0이지만 nil이 아닌 slice를 생성하여 append로 요소를 받을 준비가 되어 있습니다. nil slice가 되는 단순 선언과 달리, 이 명시적 초기화는 요소를 추가할 때 예상치 못한 동작의 위험 없이 즉시 사용 가능한 slice를 보장합니다.
4
특정 용량으로 slice를 초기화하려면 어떤 함수를 사용해야 합니까?
5
용량에 도달한 slice에 요소를 추가하면 어떻게 됩니까?
+17 면접 질문
기타 Go 면접 주제
Go 기초
Junior
25개 질문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개 질문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개 질문