Rumah >pembangunan bahagian belakang >Golang >Go Maps: `make` vs. Map Literal – Bilakah Saya Perlu Menggunakan Yang Mana?
Menjelaskan Perbezaan Antara Permulaan Peta dengan dan tanpa "buat"
Apabila bekerja dengan peta Go, terdapat dua cara utama untuk memulakannya : menggunakan peta literal atau menggunakan fungsi "buat". Memahami nuansa halus antara kaedah ini adalah penting untuk mengoptimumkan prestasi kod.
Map Literals vs. "make"
Pendekatan kedua, menggunakan "make(map[string ]int)", secara konsisten mencipta peta kosong. Walau bagaimanapun, kaedah pertama, "var m = map[string]int{}", mewakili literal peta. Teknik ini dikhaskan untuk memulakan peta dengan nilai bukan kosong.
Contoh:
m := map[bool]string{false: "FALSE", true: "TRUE"}
Huruf Peta Tanpa Nilai Awal
Mengerti contoh anda, "m := map[T]U{}", menghasilkan literal peta dengan tiada pasangan nilai kunci awal. Fungsi ini sama dengan "m := make(map[T]U)".
Pertimbangan Prestasi
Apabila memulakan peta kosong, hampir tiada prestasi perbezaan antara menggunakan literal peta atau "buat". Kedua-dua pendekatan menjana peta kosong dan menduduki jumlah memori yang sama.
Menentukan Kapasiti Permulaan
Kelebihan sebenar menggunakan "make" terletak pada keupayaannya untuk menentukan kapasiti awal untuk peta. Secara lalai, peta dimulakan dengan faktor pertumbuhan yang menggandakan saiznya setiap kali melebihi kapasitinya. Walau bagaimanapun, menggunakan "make" membolehkan anda menentukan saiz peta terlebih dahulu.
Contoh:
m := make(map[T]U, 50)
Kod di atas mencipta peta dengan ruang yang mencukupi untuk menampung sehingga 50 elemen. Pendekatan ini boleh membantu meminimumkan peruntukan memori masa hadapan jika anda menjangkakan saiz peta meningkat dengan ketara.
Atas ialah kandungan terperinci Go Maps: `make` vs. Map Literal – Bilakah Saya Perlu Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!