빈 슬라이스를 초기화하는 최적의 방법 공개
유연한 크기로 빈 슬라이스를 선언할 때 다음과 같은 질문이 생깁니다. 선호하는 초기화 접근 방식 - make([]int, 0) 또는 []int{}?
두 옵션 모두 의미적으로 동일한 결과를 가져옵니다. 그러나 Go 1.16에서는 make([]int, 0)가 런타임.makeslice에 대한 내부 호출을 트리거합니다.
또는 nil 값을 선택할 수도 있습니다.
var myslice []int
에 설명된 대로 Golang.org 블로그에서 nil 슬라이스는 아무것도 가리키지 않음에도 불구하고 길이가 0인 슬라이스처럼 작동합니다. 길이는 0이며 할당을 통해 추가할 수 있습니다.
그러나 JSON에서 nil 슬라이스는 "null"로 직렬화되는 반면, 빈 슬라이스는 "[]"로 렌더링됩니다.
@ArmanOrdookhani가 명시한 대로 선택한 방법에 관계없이 메모리 할당을 트리거하는 방법은 없습니다.
위 내용은 `make([]int, 0) vs. []int{} vs. nil: Go에서 빈 슬라이스를 초기화하는 가장 좋은 방법은 무엇입니까?`의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!