यह अनुरोध करने का सूचक क्यों है सरल: हैंडलर द्वारा अनुरोध में परिवर्तन सर्वर पर दिखाई देने की आवश्यकता है, इसलिए हम केवल मूल्य के बजाय संदर्भ द्वारा इसे पास कर रहे हैं।
यदि आप नेट/http लाइब्रेरी कोड में खोदते हैं, तो आप पाएंगे कि ResponseWriter एक गैर-आयातित संरचना प्रतिक्रिया के लिए एक इंटरफ़ेस है, और हम संदर्भ द्वारा संरचना को पार कर रहे हैं (हम प्रतिक्रिया के लिए एक सूचक में गुजर रहे हैं) और मूल्य से नहीं। ResponseWriter एक इंटरफ़ेस है जो एक हैंडलर HTTP प्रतिक्रिया बनाने के लिए उपयोग करता है। प्रतिक्रिया संरचना का समर्थन करने वाला वास्तविक संरचना गैर-निर्यातित संरचना http.response है। क्योंकि यह कोई भी निर्यात नहीं है, आप इसे सीधे उपयोग नहीं कर सकते हैं; आप केवल ResponseWriter इंटरफ़ेस के माध्यम से इसका उपयोग कर सकते हैं।
दूसरे शब्दों में, दोनों पैरामीटर संदर्भ द्वारा पारित किए जाते हैं; यह सिर्फ यह है कि विधि हस्ताक्षर एक ResponseWriter लेता है जो एक सूचक के लिए एक सूचक के लिए एक इंटरफेस है, इसलिए ऐसा लगता है कि यह मूल्य द्वारा पारित किया गया है।
स्रोत
2018-02-08 06:38:01
मुझे नहीं लगता कि यह सही है। पॉइंटर्स के पीछे के मान इंटरफेस को वैल्यू के समान ही कार्यान्वित कर सकते हैं, इसलिए यहां भेद की आवश्यकता नहीं है। आधार प्रकार int के साथ एक प्रकार एक सूचक होने के बिना एक इंटरफेस को संतुष्ट कर सकता है या एक द्वारा समर्थित किया जा सकता है। – nemo
खैर, मेरा मतलब यह नहीं था कि इंटरफ़ेस को लागू करने वाली _all_ चीजें पॉइंटर्स होंगी।कुछ प्रतिक्रिया करने के लिए इंटरफ़ेस के पीछे मूल्य की स्थिति को संशोधित करने की आवश्यकता होगी, और उस मूल्य की आवश्यकता होगी एक सूचक प्रकार (जैसा कि ब्लॉग पोस्ट I से भी जुड़ा हुआ है)। लेकिन हाँ, http.ResponseWriter सैद्धांतिक रूप से एक int द्वारा कार्यान्वित किया जा सकता है (जिनकी विधियां उस int मान को कभी नहीं बदल सकती हैं)। – nos