गो मैप में आइटमों की गिनती कैसे करें?


88

यदि मैं मानचित्र संरचना में वस्तुओं को गिनना चाहता हूं, तो मुझे किस कथन का उपयोग करना चाहिए? मैंने इस्तेमाल करने की कोशिश की

for _, _ := range m {...}

लेकिन ऐसा लगता है कि वाक्य रचना झूठी है।


2
विषय से थोड़ा हटकर, आप भी उपयोग कर सकते हैं for _ := range m {}, वहां दो तर्कों की आवश्यकता नहीं है।
एलजार लीबोविच

1
Btw, दोनों for _, _ := range m {...}और for _ := range m {}नहीं होगा संकलन बी / की सी :=है, जो डब्ल्यू / नहीं किया जा सकता _केवल LHSs। =इसके बजाय इस मामलों में उपयोग किया जाना चाहिए।
zzzz

जवाबों:


175

का उपयोग करें 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

मानचित्रों के अंश - मानचित्र तत्वों की गणना । मूल लेखक सिमोन कारलेटी थेअंशदान के विवरण पृष्ठ पर पाए जा सकते हैं । स्रोत CC BY-SA 3.0 के तहत लाइसेंस प्राप्त है और प्रलेखन संग्रह में पाया जा सकता है । संदर्भ विषय आईडी: 732 और उदाहरण आईडी: 2528।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.