Dalam Go, peta bukan pemalar, yang bermaksud pasangan nilai kunci mereka tidak boleh diubah suai selepas penciptaan. Percubaan untuk mengisytiharkan peta sebagai pemalar dan seterusnya mengisinya, seperti yang ditunjukkan dalam coretan di bawah, akan mengakibatkan ralat:
const ( paths = &map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior" )
Pemalar mewakili nilai tidak berubah dan peta taip dalam Go tidak membenarkan pengubahsuaian pasangan nilai kunci. Spec mengehadkan pengisytiharan berterusan kepada jenis tertentu, termasuk pemalar boolean, rune, integer, titik terapung, kompleks dan rentetan.
Untuk menyelesaikan masalah ini isu, isytiharkan peta sebagai pembolehubah dan bukannya pemalar, seperti yang ditunjukkan di bawah:
var paths = map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengisytiharkan Peta sebagai Pemalar dan Mengubahnya dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!