Apakah ada cara untuk mendapatkan daftar semua kunci di peta bahasa Go? Jumlah elemen diberikan oleh len()
, tetapi jika saya memiliki peta seperti:
m := map[string]string{ "key1":"val1", "key2":"val2" };
Bagaimana cara saya mengulang semua kunci?
loops
dictionary
go
Martin Redmond
sumber
sumber
Inilah beberapa cara mudah untuk mendapatkan
slice
kunci-peta.sumber
Keys
fungsi mengambil peta dengan kunci jenis apa pun, bukan hanya string?func Keys(m map[interface{}]interface{}) (keys []interface{})
, @ RobertT.McGibbon Anda perlu mengubah fungsi "prototipe"map[interface{}]interface{}
. Go tidak mendukung obat generik. Anda tidak dapat membuat fungsi denganmap
parameter yang menerima peta dengan berbagai jenis kunci.Gunakan jawaban yang diterima:
sumber
for _, k := range v.MapKeys()
, karena dalam contoh Anda,k
akan menjadi indeks int dari sepotong kunci