> 백엔드 개발 > Golang > Go Slices: `var` 또는 `make` – 어떤 선언이 가장 좋나요?

Go Slices: `var` 또는 `make` – 어떤 선언이 가장 좋나요?

Mary-Kate Olsen
풀어 주다: 2025-01-03 20:19:39
원래의
315명이 탐색했습니다.

Go Slices: `var` or `make` – Which Declaration is Best?

부분 선언: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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