Dalam kod anda, anda telah mengalami ralat berkaitan dengan jenis keserasian antara peta yang digunakan dalam fungsi Kekunci dan peta yang anda cuba akses:
cannot use m2 (type map[int]interface {}) as type map[interface {}]interface {} in argument to Keys
Untuk menyelesaikan masalah ini, anda harus mengingati perkara berikut:
Dalam kod anda, fungsi Kekunci ditakrifkan untuk berfungsi dengan peta jenis peta[antara muka{}]antara muka{}, semasa anda menggunakan peta jenis peta[int]antara muka{}. Jenis ini tidak serasi kerana jenis utama adalah berbeza.
Terdapat beberapa cara untuk menyelesaikan isu ini:
Pilihan 1: Ubah suai Fungsi Kekunci
func Keys(m map[int]interface{}) []interface{} { // Implement function }
Pilihan 2: Ubah suai Peta
m2 := map[interface{}]interface{}{ 2: "string", 3: "int", }
Pilihan 3: Gunakan Refleksi (Tidak Disyorkan)
Ingat, keserasian jenis adalah penting di Golang. Pastikan jenis dalam kod anda sepadan dengan jenis yang dijangkakan untuk mengelakkan ralat tersebut.
Atas ialah kandungan terperinci Mengapa Kod My Go Melemparkan Ralat 'Tidak Dapat Menetapkan m2 kepada Map[interface{}]interface{}'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!