2013-06-05 6 views
6

मेरे पास ऑब्जेक्ट्स का एक संग्रह है जिसमें कभी-कभी इसमें नया तत्व जोड़ा जाएगा।मैं गो भाषा में मानचित्र के आवंटन आकार को कैसे बढ़ा सकता हूं?

मैं आंतरिक मानचित्र आकार कैसे बढ़ा सकता हूं?

क्या हर बार तत्व गणना आवंटित गणना से अधिक होने पर मुझे पूरे मानचित्र को पुन: आवंटित करने की आवश्यकता है?

उत्तर

16

जाओ विनिर्देश का कहना है:

make(map[string]int) 
make(map[string]int, 100) 
:

एक नया, रिक्त नक्शा मूल्य में निर्मित समारोह मेकअप, जो नक्शे प्रकार और तर्कों के रूप में एक वैकल्पिक क्षमता संकेत लेता है का उपयोग किया जाता है

प्रारंभिक क्षमता इसके आकार को बाध्य नहीं करती है: नक्शा

तो, नहीं, आपको किसी को भी बनाने की ज़रूरत नहीं है एक बार मानचित्र बनाने के बाद एक मानचित्र के लिए llocations। यह गो रनटाइम द्वारा आंतरिक रूप से संभाला जाता है। मानचित्र बनाने के दौरान उपयोग की जाने वाली वैकल्पिक क्षमता केवल एक संकेत है, सीमा नहीं।

+0

ओह मैंने पाया कि मेरा नक्शा अभी तक "बनाना" नहीं है जिससे त्रुटि हुई है। अंतरिक्ष समस्या से बाहर नहीं। लेकिन जब कंटेनर संरचना बनायी जाती है तो मैं कॉल कैसे करूं? मैं लैंग जाने में कन्स्ट्रक्टर नहीं देखता हूं। – Nick

+3

सच है, गो में कोई रचनाकार नहीं हैं। रचनाकारों के बजाए, आप 'न्यू' प्रीपेन्ड के साथ, उसी नाम के साथ एक फैक्ट्री फ़ंक्शन का उपयोग कर सकते हैं। उदाहरण के लिए। 'func न्यूस्ट्रक्चर ([तर्क]) * स्ट्रक्चर '। ऐसा करने के लिए मूर्खतापूर्ण है। – ANisus

संबंधित मुद्दे