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