Apabila mendapatkan kunci daripada peta, adalah penting untuk memastikan keserasian jenis. Penaipan kuat Go memerlukan kekunci peta daripada jenis yang sama. Malangnya, jika fungsi Keys() anda menentukan peta jenis peta[antara muka{}]antara muka{}, tetapi peta sebenar anda ialah peta jenis[int]antara muka{}, anda akan menghadapi ralat tidak padan jenis.
Go tidak menyokong generik, tidak seperti bahasa seperti Java atau C#. Ini memudahkan bahasa dan meningkatkan prestasi. Akibatnya, anda tidak boleh mencipta fungsi generik yang beroperasi pada peta daripada sebarang jenis kunci atau nilai.
Untuk menyelesaikan ketidakpadanan jenis, anda mempunyai beberapa pilihan:
func Keys(m map[int]interface{}) []int { keys := make([]int, len(m)) i := 0 for k := range m { keys[i] = k i++ } return keys }
m2 := map[interface{}]interface{}{ 2: "string", 3: "int", }
Atas ialah kandungan terperinci Cara Mendapatkan Kekunci Peta dengan Selamat dalam Go: Menangani Isu Tidak Padan Jenis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!