यदि मैं मानचित्र संरचना में वस्तुओं को गिनना चाहता हूं, तो मुझे किस कथन का उपयोग करना चाहिए? मैंने इस्तेमाल करने की कोशिश की
for _, _ := range m {...}
लेकिन ऐसा लगता है कि वाक्य रचना झूठी है।
यदि मैं मानचित्र संरचना में वस्तुओं को गिनना चाहता हूं, तो मुझे किस कथन का उपयोग करना चाहिए? मैंने इस्तेमाल करने की कोशिश की
for _, _ := range m {...}
लेकिन ऐसा लगता है कि वाक्य रचना झूठी है।
for _, _ := range m {...}
और for _ := range m {}
नहीं होगा संकलन बी / की सी :=
है, जो डब्ल्यू / नहीं किया जा सकता _
केवल LHSs। =
इसके बजाय इस मामलों में उपयोग किया जाना चाहिए।
जवाबों:
का उपयोग करें 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
मानचित्रों के अंश - मानचित्र तत्वों की गणना । मूल लेखक सिमोन कारलेटी थे । अंशदान के विवरण पृष्ठ पर पाए जा सकते हैं । स्रोत CC BY-SA 3.0 के तहत लाइसेंस प्राप्त है और प्रलेखन संग्रह में पाया जा सकता है । संदर्भ विषय आईडी: 732 और उदाहरण आईडी: 2528।
for _ := range m {}
, वहां दो तर्कों की आवश्यकता नहीं है।