[map] Go 맵에서 항목을 계산하는 방법은 무엇입니까?

맵 구조의 항목을 계산하려면 어떤 문을 사용해야합니까? 나는 사용하려고했다

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맵을 가리키는 경우 len0 을 반환합니다.

var m map[string]int
len(m) // 0

Maps-Counting map elements 에서 발췌 . 원저자는 Simone Carletti였습니다 . 기여 세부 정보는 기여자 페이지 에서 확인할 수 있습니다 . 소스는 CC BY-SA 3.0에 따라 사용이 허가되었으며 문서 아카이브 에서 찾을 수 있습니다 . 참조 주제 ID : 732 및 예제 ID : 2528.


답변