> 백엔드 개발 > Golang > `make([]int, 0) vs. []int{} vs. nil: Go에서 빈 슬라이스를 초기화하는 가장 좋은 방법은 무엇입니까?`

`make([]int, 0) vs. []int{} vs. nil: Go에서 빈 슬라이스를 초기화하는 가장 좋은 방법은 무엇입니까?`

Mary-Kate Olsen
풀어 주다: 2024-12-19 14:12:10
원래의
368명이 탐색했습니다.

`make([]int, 0) vs. []int{} vs. nil: What's the Best Way to Initialize an Empty Slice in Go?`

빈 슬라이스를 초기화하는 최적의 방법 공개

유연한 크기로 빈 슬라이스를 선언할 때 다음과 같은 질문이 생깁니다. 선호하는 초기화 접근 방식 - 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿