"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में http.Request प्रकार के लिए पॉइंटर्स का उपयोग क्यों किया जाता है?

गो में http.Request प्रकार के लिए पॉइंटर्स का उपयोग क्यों किया जाता है?

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

Why Are Pointers Used for the http.Request Type in Go?

http.Request में पॉइंटर आवश्यकता को समझना

गो प्रोग्रामिंग भाषा में, बड़ी संरचनाओं को कुशलतापूर्वक संभालने के लिए पॉइंटर आवश्यक हैं। http.Request प्रकार, जो आने वाले HTTP अनुरोधों का प्रतिनिधित्व करता है, ऐसी संरचना का एक प्रमुख उदाहरण है।

गो के सिंटैक्स में, एक पॉइंटर एक डेटा प्रकार है जो किसी अन्य मान का पता संग्रहीत करता है। जब कोई पैरामीटर पॉइंटर द्वारा पारित किया जाता है, तो फ़ंक्शन के भीतर उस पैरामीटर में किया गया कोई भी परिवर्तन विश्व स्तर पर परिलक्षित होता है।

http.Request के मामले में, संरचना पर्याप्त है और इसे कॉपी करना कम्प्यूटेशनल रूप से महंगा होगा। पॉइंटर का उपयोग करने से फ़ंक्शन को सीधे मूल संरचना तक पहुंचने की अनुमति मिलती है, जिससे मेमोरी और प्रोसेसिंग समय की बचत होती है।

निम्न उदाहरण पर विचार करें:

// Using a pointer
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("hello world"))
})

यदि * को http.Request प्रकार से हटा दिया जाता है, तो एक त्रुटि संदेश आएगा:

cannot use func literal (type func(http.ResponseWriter, http.Request)) as type func(http.ResponseWriter, *http.Request) in argument to http.HandleFunc

के तर्क में func(http.ResponseWriter, *http.Request) टाइप करें, ऐसा इसलिए है क्योंकि HTTP हैंडलर फ़ंक्शन (HandleFunc) एक फ़ंक्शन की अपेक्षा करता है जो एक रिस्पॉन्सराइटर और एक पॉइंटर को अनुरोध के रूप में तर्क के रूप में लेता है। किसी संरचना का सूचक प्रभावी रूप से मूल संरचना का एक संदर्भ होता है, जो फ़ंक्शन के भीतर किए गए संशोधनों को इसके बाहर दिखाई देने की अनुमति देता है।

इसके विपरीत, एक शाब्दिक फ़ंक्शन तुरंत निष्पादित होता है और एक मान लौटाता है। यह स्टेटफुल HTTP रिक्वेस्ट ऑब्जेक्ट को संभालने के लिए उपयुक्त नहीं है। वैश्विक स्तर पर प्रतिबिंबित।

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3