부분 선언: var 또는 make?
Go에서 부분은 필수적인 데이터 구조입니다. 그러나 부분을 선언하는 방법에는 두 가지가 있습니다.
var s []int
이 선언은 쓸모 없는 부분, 즉 그렇지 않은 부분을 만듭니다. 모든 요소를 저장합니다. s의 참조 값은 nil입니다.
s := make([]int, 0)
이 명령문은 빈 슬라이스, 즉 다음과 같은 슬라이스를 생성합니다. 요소는 없지만 메모리가 할당되어 있습니다. s의 참조 값이 nil이 아닙니다.
차이점이 무엇인가요?
이 두 선언의 주요 차이점은 var는 값이 없는 부분을 선언하고 make는 메모리를 할당한다는 것입니다. 빈 덩어리를 위해. var를 사용하면 처음에는 저장 공간이 할당되지 않은 청크가 생성됩니다. 메모리가 할당될 때까지 슬라이스에 요소를 저장할 수 없습니다.
반면 make는 빈 슬라이스에 메모리를 할당하므로 요소를 즉시 저장할 수 있습니다. 그러나 초기 부분 크기는 0이므로 더 많은 항목을 저장하려면 부분 크기를 늘리는 것이 중요합니다.
가장 좋은 옵션은 무엇입니까?
사용할 부분의 정확한 크기를 모르는 경우 일반적으로 var를 사용하여 부분을 선언하는 것이 좋습니다. 이를 통해 필요에 따라 슬라이스를 동적으로 늘리고 크기를 조정할 수 있습니다.
슬라이스의 정확한 크기를 알고 있는 경우 make를 사용하면 즉시 메모리를 할당하고 쓸모 없는 슬라이스 생성에 대한 오버로드를 방지하므로 더 효율적일 수 있습니다. 부분.
위 내용은 Go Slices: `var` 또는 `make` – 어떤 선언이 가장 좋나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!