지도를 만들 때 중요한가요?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!