Rumah >pembangunan bahagian belakang >Golang >Adakah Terdapat Perbezaan Prestasi Antara Menggunakan `{}` dan `make()` untuk Memulakan Peta dalam Go?
Permulaan Peta dalam Go: make vs. {}
Dalam Go, terdapat dua kaedah biasa untuk memulakan peta: menggunakan {} atau buat(). Walaupun kedua-duanya menghasilkan peta kosong, terdapat persoalan sama ada terdapat sebarang perbezaan prestasi antara kedua-dua pendekatan.
Untuk menyiasat perkara ini, mari buat ujian penanda aras untuk membandingkan dua teknik permulaan:
<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>
Menjalankan ujian penanda aras pada mesin yang berbeza menunjukkan hasil yang konsisten, menunjukkan bahawa tiada perbezaan prestasi yang ketara antara kedua-dua kaedah permulaan. Kedua-dua {} dan make() menghasilkan masa pelaksanaan yang hampir sama.
Kesimpulannya, manakala kaedah {} dan make() kedua-duanya menghasilkan peta kosong, tiada kelebihan prestasi yang boleh dilihat apabila menggunakan satu daripada yang lain . Pilihan antara kedua-duanya boleh berdasarkan keutamaan peribadi atau keperluan khusus.
Atas ialah kandungan terperinci Adakah Terdapat Perbezaan Prestasi Antara Menggunakan `{}` dan `make()` untuk Memulakan Peta dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!