맵 구조의 항목을 계산하려면 어떤 문을 사용해야합니까? 나는 사용하려고했다
for _, _ := range m {...}
그러나 구문이 거짓 인 것 같습니다.
답변
사용 len(m)
. 에서 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
다음은 현재 폐기 된 SO 문서에서 포팅 한 몇 가지 예입니다.
m := map[string]int{}
len(m) // 0
m["foo"] = 1
len(m) // 1
변수가 nil
맵을 가리키는 경우 len
0 을 반환합니다.
var m map[string]int
len(m) // 0
Maps-Counting map elements 에서 발췌 . 원저자는 Simone Carletti였습니다 . 기여 세부 정보는 기여자 페이지 에서 확인할 수 있습니다 . 소스는 CC BY-SA 3.0에 따라 사용이 허가되었으며 문서 아카이브 에서 찾을 수 있습니다 . 참조 주제 ID : 732 및 예제 ID : 2528.