Sedikit keluar dari topik, Anda juga bisa menggunakan for _ := range m {}, tidak perlu dua argumen di sana.
Elazar Leibovich
1
BTW, keduanya 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.
len(s) stringtypestring 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:
for _ := range m {}
, tidak perlu dua argumen di sana.for _, _ := range m {...}
danfor _ := 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_capacitylen(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, lalulen
mengembalikan 0.var m map[string]int len(m) // 0
sumber