Pada pandangan pertama, ralat seperti ini mungkin kelihatan mengelirukan:
const ( paths = &map[string]*map[string]string { Smith: { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior" )
Mengapa tidak bolehkah pemalar ditetapkan dan diubah suai selepas takrif awalnya?
Jawapannya terletak pada sifat pemalar. Mereka bertujuan untuk kekal tidak berubah sepanjang pelaksanaan program. Dalam Go, sistem jenis mentakrifkan operasi yang dibenarkan pada jenis nilai tertentu.
Malangnya, jenis peta tidak tetap dalam Go. Peta membenarkan pengubahsuaian pasangan nilai kunci dinamik selepas pembuatannya, menjadikannya tidak sesuai untuk pengisytiharan berterusan.
Spesifikasi Go dengan teliti mentakrifkan jenis yang boleh diisytiharkan sebagai pemalar:
Jika anda memerlukan peta tidak berubah, pertimbangkan untuk menggunakan penyegerakan.Peta, menawarkan akses baca sahaja selamat benang kepada struktur data.
Walaupun pada mulanya mungkin kelihatan berlawanan dengan intuisi, sekatan terhadap pengubahsuaian peta berterusan dalam Go adalah penting untuk mengekalkan integriti dan kebolehpercayaan kod anda. Dengan mematuhi peraturan ini, anda memastikan pemalar anda kekal dengan nama mereka, memberikan asas yang kukuh untuk program anda.
Atas ialah kandungan terperinci Mengapa Pemalar dalam Go Tidak Boleh Diubah Suai Selepas Permulaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!