강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

kium님의 프로필 이미지
kium

작성한 질문수

쉽고 빠르게 끝내는 GO언어 프로그래밍 핵심 기초 입문 과정

슬라이스 기초

슬라이스 선언시 초기값 관련

작성

·

178

0


var
slice1 []int
slice2 := []int{}

fmt.Println(slice1)
fmt.Println(slice2)

if slice1 == nil {
fmt.Println("slice1 is nil")
}

if slice2 == nil {
fmt.Println("slice2 is nil")
}

실행결과
[] [] slice1 is nil

질문
slice2는 널이 아닌 무슨 값이 들어가 있는건지요?
답변 부탁 드리겠습니다.

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 안녕하세요.

상당히 어려운 질문이고 열심히 하셨다는 생각이 듭니다.

좋은 질문 다시 한 번 감사드립니다.

2번은 슬라이스 리터럴 이므로 nil이 참조 되지 않습니다.

즉, make([]int, 0) 구문이 실행되었다고 생각하시면 됩니다.

지금 하신 질문이 Golang 개발자분들이 혼동하고 있고 어려운 부분이라고 생각합니다.

아래 링크를 참조해 보세요(번역 이용)

https://stackoverflow.com/questions/42795382/whats-the-difference-between-makeint-0-int-and-newint

kium님의 프로필 이미지
kium

작성한 질문수

질문하기