슬라이스 선언시 초기값 관련
184
작성한 질문수 78
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
고 인터페이스 관련
0
69
2
Join함수 사용이유가 궁금합니다
0
54
1
vscode 설정
0
126
2
arm64
0
202
2
undefined 에러 : UndeclaredImportedName
0
343
1
godoc 에러 관련
0
207
1
package is not in std 오류
0
986
1
맵 예제 코드가 바이러스 검사에 걸려요
0
234
1
for 반복문에서 break와 continue 차이점
0
224
1
후치연산 관련 질문입니다.
0
197
1
package관리에 질문이 있습니다.
0
282
1
go channel 에제에서 질문이 있습니다.
0
194
1
golang 질문
0
310
1
재귀 함수 관련하여 질문이 있습니다.
0
346
1
atom 서비스 종료 관련
0
403
1
vscode 환경설정 업데이트 부탁드립니다
1
405
2
waitGroup.Done을 지연 시키는 방식
0
450
1
첫 번째 예제 질문있습니다.
0
264
1
2개씩 체크가 되는 이유가 궁금합니다.
0
328
1
go 표준 코드 컨벤션이 있나요?
0
826
1
slice에서 make 궁금한 게 있습니다.
1
262
1
import 관리는 어떻게 하나요?
0
317
1
개발환경설정 질문드립니다.
0
488
1
이것도 closure인가요?
0
240
1





