Jika saya ingin menghitung item dalam struktur peta, pernyataan apa yang harus saya gunakan? Saya mencoba menggunakan
for _, _ := range m {...}
tetapi tampaknya sintaksnya salah.
Jika saya ingin menghitung item dalam struktur peta, pernyataan apa yang harus saya gunakan? Saya mencoba menggunakan
for _, _ := range m {...}
tetapi tampaknya sintaksnya salah.
for _, _ := range m {...}
dan for _ := range m {}
tidak akan mengkompilasi b / c dari :=
, yang tidak dapat digunakan _
hanya dengan LHS. =
harus digunakan dalam kasus ini sebagai gantinya.
Jawaban:
Gunakan len(m)
. Dari http://golang.org/ref/spec#Length_and_capacity
len(s) string type string length in bytes
[n]T, *[n]T array length (== n)
[]T slice length
map[K]T map length (number of defined keys)
chan T number of elements queued in channel buffer
Berikut adalah beberapa contoh yang diporting dari dokumentasi SO yang sekarang sudah tidak digunakan lagi:
m := map[string]int{}
len(m) // 0
m["foo"] = 1
len(m) // 1
Jika sebuah variabel menunjuk ke nil
peta, lalu len
mengembalikan 0.
var m map[string]int
len(m) // 0
Dikutip dari Maps - Menghitung elemen peta . Penulis asli adalah Simone Carletti . Detail atribusi dapat ditemukan di halaman kontributor . Sumber berlisensi di bawah CC BY-SA 3.0 dan dapat ditemukan di arsip Dokumentasi . ID topik referensi: 732 dan ID contoh: 2528.
for _ := range m {}
, tidak perlu dua argumen di sana.