make가 있는 맵 초기화와 make가 없는 맵 초기화의 차이점 이해
Go에서 맵을 처리할 때 두 가지 서로 다른 초기화 형식을 접할 수 있습니다.
1. 맵 리터럴 사용:
var m = map[string]int{}
2. make 함수 사용:
var m = make(map[string]int)
기능적 차이점:
가장 큰 차이점은 맵이 초기화되는 방식에 있습니다. make를 사용하는 두 번째 형식은 항상 빈 맵을 생성합니다. 그러나 첫 번째 형식은 맵 리터럴의 고유한 경우입니다. 맵 리터럴은 초기 키-값 쌍으로 맵을 구성할 수 있습니다. 예를 들어:
m := map[bool]string{false: "FALSE", true: "TRUE"}
동등성 및 성능:
예제의 일반화된 버전
m := map[T]U{}
은 make를 호출하는 것과 동일합니다.
m := make(map[T]U)
성능 측면에서 두 접근 방식은 생성 시 동일하게 작동합니다. 빈 맵.
초기 용량:
make 사용의 주요 이점은 초기 용량을 지정할 수 있다는 것입니다. 이는 make 함수에 정수 인수를 추가하여 수행할 수 있습니다.
m := make(map[T]U, 50)
이는 50개 요소에 할당된 공간으로 맵을 초기화합니다. 맵 증가가 예상되는 경우 사전 할당을 통해 향후 메모리 할당을 줄일 수 있습니다.
위 내용은 Go Maps: `map[string]int{}` 대 `make(map[string]int)`: 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!