नए() और "&" ऑपरेटर के बीच अंतर
गो में, नया() फ़ंक्शन और "&" मेमोरी एड्रेस ऑपरेटर दोनों का उपयोग मेमोरी आवंटित करने के लिए किया जाता है। हालाँकि, उनके उपयोग के बीच कुछ सूक्ष्म अंतर हैं। हालाँकि, वे अपने सिंटैक्स में भिन्न हैं:
v := &Vector{} एक खाली वेक्टर संरचना का पता प्राप्त करने के लिए "&" ऑपरेटर का उपयोग करता है।
v := new( वेक्टर) एक नई वेक्टर संरचना के लिए पॉइंटर बनाने के लिए नए() फ़ंक्शन का उपयोग करता है।ऐतिहासिक भ्रम
गो मेलिंग सूची ने पहले मेमोरी के लिए new() और & दोनों के बारे में चिंताओं पर चर्चा की है आवंटन, क्योंकि इससे भ्रम की स्थिति पैदा हो सकती है।विशेष मामला
यह ध्यान देने योग्य है कि new() एक अनाम मूल प्रकार के लिए सूचक प्राप्त करने का एकमात्र तरीका है, जैसे पूर्णांक. इसे निम्नलिखित उदाहरण में देखा जा सकता है:p := new(int) // वैध p := &int{0} // अमान्यवरीयता और उपयोग
आखिरकार, मेमोरी आवंटन के लिए new() और & का उपयोग करने के बीच चयन काफी हद तक का मामला है व्यक्तिगत प्राथमिकता. दोनों विधियों की कार्यक्षमता समान है और परिणाम समान हैं। हालाँकि, दोनों ऑपरेटरों के बीच सूक्ष्म अंतरों से अवगत होना और विशिष्ट आवश्यकताओं के आधार पर उनका उचित उपयोग करना महत्वपूर्ण है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3