> 백엔드 개발 > Golang > Go에서 지도를 만들 때 'map' 또는 'make'가 중요합니까?

Go에서 지도를 만들 때 'map' 또는 'make'가 중요합니까?

Patricia Arquette
풀어 주다: 2024-12-01 05:57:11
원래의
592명이 탐색했습니다.

Does `map` or `make` Matter When Creating Maps in Go?

지도를 만들 때 중요한가요?

Go에서 지도를 만들 때 개발자에게는 두 가지 옵션이 있습니다.

var m = map[string]int{}
로그인 후 복사
var m = make(map[string]int)
로그인 후 복사

전자는 더 빠른 필드 초기화를 위한 지름길처럼 보일 수 있지만 두 옵션 모두 미묘합니다. 차이점.

맵 리터럴과 make

첫 번째 형식은 특정 키를 사용하여 비어 있지 않은 맵을 생성할 수 있는 맵 리터럴의 특수한 경우입니다. 값 쌍. 예를 들면 다음과 같습니다.

m := map[bool]string{false: "FALSE", true: "TRUE"}
로그인 후 복사

반대로 make를 사용하는 두 번째 형식은 항상 빈 맵을 만듭니다.

m := map[string]int{}
로그인 후 복사

초기 용량

두 접근 방식의 주요 차이점은 다음과 같이 초기 값이 없는 맵 리터럴과 동일합니다. 초기 용량. make를 사용하면 처음에 항목이 할당되지 않은 경우에도 특정 개수의 항목에 대한 공간을 할당할 수 있습니다. 이는 지도가 크게 성장할 것으로 예상되는 경우 향후 할당을 줄이는 데 도움이 될 수 있습니다. 예:

m := make(map[string]int, 50)
로그인 후 복사

이렇게 하면 50개 항목을 위한 충분한 공간이 있는 지도가 생성되어 지도가 확장됨에 따라 할당이 줄어들 가능성이 있습니다.

모범 사례

일반적으로 상황에 따라 두 가지 방법 중 하나를 선택합니다. 성능이 중요하지 않은 빈 맵을 생성하는 경우 두 옵션 모두 충분합니다. 하지만 큰 맵을 예상하거나 초기 용량을 설정하고 싶다면 make를 사용하는 것이 좋습니다.

위 내용은 Go에서 지도를 만들 때 'map' 또는 'make'가 중요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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