Memahami Perbezaan Antara Permulaan peta dengan dan tanpa make
Apabila berurusan dengan peta dalam Go, anda mungkin menghadapi dua bentuk permulaan yang berbeza:
1. Menggunakan Literal Peta:
var m = map[string]int{}
2. Menggunakan Fungsi Buat:
var m = make(map[string]int)
Perbezaan Fungsian:
Perbezaan utama terletak pada cara peta dimulakan. Bentuk kedua, menggunakan make, sentiasa menghasilkan peta kosong. Walau bagaimanapun, bentuk pertama ialah kes unik bagi literal peta. Literal peta boleh membina peta dengan pasangan nilai kunci awal. Contohnya:
m := map[bool]string{false: "FALSE", true: "TRUE"}
Kesamaan dan Prestasi:
Versi umum contoh anda,
m := map[T]U{}
sama dengan menggunakan make:
m := make(map[T]U)
Dari segi prestasi, kedua-dua pendekatan berkelakuan sama apabila mencipta kosong peta.
Kapasiti Permulaan:
Kelebihan utama menggunakan make ialah keupayaan untuk menentukan kapasiti awal. Ini boleh dilakukan dengan menambahkan hujah integer pada fungsi make:
m := make(map[T]U, 50)
Ini memulakan peta dengan ruang yang diperuntukkan untuk 50 elemen. Pra-peruntukan boleh mengurangkan peruntukan memori masa hadapan jika anda menjangkakan pertumbuhan peta.
Atas ialah kandungan terperinci Pergi Peta: `map[string]int{}` lwn. `make(map[string]int)`: Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!