Saya baru sahaja membaca peta[Jenis]antaramuka{} menentukan peta kekunci jenis Jenis dengan nilai sebarang, iaitu antara muka{}.
Bukankah ini hampir sama dengan mentakrifkan struktur, iaitu taip Name struct{ key1; value1, ...., keyn: valuen}?
Apakah perbezaan antara dua jenis pemetaan ini?
Saya membaca https://www.digitalocean.com/community/tutorials/how-to-use-json-in-go tetapi saya masih tidak faham perbezaannya.
Atau apakah perbezaan antara antara muka[jenis] peta{} yang kami takrifkan dengan cara yang lebih umum?
Kami menentukan setiap pasangan nilai kunci melalui struktur?
Adakah kedua-dua kaedah hanya mentakrifkan objek yang terdiri daripada pasangan nilai kunci?
Struktur dan peta ialah struktur data yang berbeza. Mereka mempunyai banyak perbezaan. Berikut adalah beberapa sahaja:
Struktur mempunyai bilangan medan tetap, yang diisytiharkan sekali dan tidak boleh diubah.
3a15cefd8a1cc7ac8a7f27a0d3f9b13Peta boleh berkembang atau mengecut pada masa jalan.
vector := map[string]float64{ "x": 2.0, "y": 2.0, } vector["z"] = 2.0
Anda boleh mengulangi entri peta.
for key, val := range vector { fmt.Println(key, val) }
Struktur tidak menyokong lelaran (melainkan anda menggunakan refleksi).
Medan struktur boleh mempunyai label (atribut tambahan):
type User struct { Name string `json:"name"` Password string `json:"password"` }
Map tidak mempunyai ciri ini.
Atas ialah kandungan terperinci Apakah perbezaan antara antara muka yang dipetakan {} dan struktur jenis {}?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!