"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में \"new()\" फ़ंक्शन और \"&\" मेमोरी एड्रेस ऑपरेटर के बीच क्या अंतर है?

गो में \"new()\" फ़ंक्शन और \"&\" मेमोरी एड्रेस ऑपरेटर के बीच क्या अंतर है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:659

What\'s the Difference Between the \

नए() और "&" ऑपरेटर के बीच अंतर

गो में, नया() फ़ंक्शन और "&" मेमोरी एड्रेस ऑपरेटर दोनों का उपयोग मेमोरी आवंटित करने के लिए किया जाता है। हालाँकि, उनके उपयोग के बीच कुछ सूक्ष्म अंतर हैं। हालाँकि, वे अपने सिंटैक्स में भिन्न हैं:

v := &Vector{} एक खाली वेक्टर संरचना का पता प्राप्त करने के लिए "&" ऑपरेटर का उपयोग करता है।

v := new( वेक्टर) एक नई वेक्टर संरचना के लिए पॉइंटर बनाने के लिए नए() फ़ंक्शन का उपयोग करता है।

  • प्रकार विश्लेषण
  • जैसा कि दिए गए कोड उदाहरण से पता चलता है, प्रतिबिंब विश्लेषण से पता चलता है कि &वेक्टर{} और नए(वेक्टर) दोनों एक ही प्रकार के पॉइंटर्स लौटाते हैं, क्योंकि दोनों वेक्टर संरचना के उदाहरणों के पॉइंटर्स हैं। &&&]

ऐतिहासिक भ्रम

गो मेलिंग सूची ने पहले मेमोरी के लिए new() और & दोनों के बारे में चिंताओं पर चर्चा की है आवंटन, क्योंकि इससे भ्रम की स्थिति पैदा हो सकती है।

विशेष मामला

यह ध्यान देने योग्य है कि new() एक अनाम मूल प्रकार के लिए सूचक प्राप्त करने का एकमात्र तरीका है, जैसे पूर्णांक. इसे निम्नलिखित उदाहरण में देखा जा सकता है:

p := new(int) // वैध p := &int{0} // अमान्य

वरीयता और उपयोग

आखिरकार, मेमोरी आवंटन के लिए new() और & का उपयोग करने के बीच चयन काफी हद तक का मामला है व्यक्तिगत प्राथमिकता. दोनों विधियों की कार्यक्षमता समान है और परिणाम समान हैं। हालाँकि, दोनों ऑपरेटरों के बीच सूक्ष्म अंतरों से अवगत होना और विशिष्ट आवश्यकताओं के आधार पर उनका उचित उपयोग करना महत्वपूर्ण है।
            
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729661717 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3