Go의 지도 초기화: make와 {} 비교
Go에는 지도를 초기화하는 두 가지 일반적인 방법이 있습니다. 즉, {}를 사용하거나 만들다(). 둘 다 빈 맵이 생성되지만 두 접근 방식 사이에 성능 차이가 있는지에 대한 의문이 있습니다.
이를 조사하기 위해 두 가지 초기화 기술을 비교하는 벤치마크 테스트를 만들어 보겠습니다.
<code class="go">package main import "testing" var result map[string]int func BenchmarkMakeLiteral(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = map[string]int{} } result = m } func BenchmarkMakeMake(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = make(map[string]int) } result = m } func main() { testing.Benchmark(BenchmarkMakeLiteral) testing.Benchmark(BenchmarkMakeMake) }</code>
다른 머신에서 벤치마크 테스트를 실행한 결과 일관된 결과가 나타나 두 초기화 방법 간에 큰 성능 차이가 없음을 나타냅니다. {} 및 make() 모두 실행 시간이 거의 동일합니다.
결론적으로, {} 및 make() 메서드는 모두 빈 맵을 생성하지만, 둘 중 하나를 사용할 때 눈에 띄는 성능 이점은 없습니다. . 둘 사이의 선택은 개인 취향이나 특정 요구 사항에 따라 달라질 수 있습니다.
위 내용은 Go에서 지도를 초기화하기 위해 `{}`와 `make()`를 사용하는 것 사이에 성능 차이가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!