2015-03-13 9 views
10

बाद डॉक्स में गोता मैं अपने निम्नलिखित प्रश्न का उत्तर नहीं मिल सकता है:जाओ "इस" -कीवर्ड

वहाँ निम्न उदाहरण में वर्तमान वस्तु की चर्चा करते हुए के लिए this उपयोग करने के खिलाफ किसी भी कारण है?

type MyStruct struct { 
    someField string 
} 

func (this MyStruct) getSomeField() string { 
    return this.someField 
} 
+3

यह गो में मूर्ख नहीं है। पायथन में आप 'इस' या किसी अन्य नाम के बजाय 'स्वयं' का भी उपयोग करते हैं क्योंकि यह मूर्खतापूर्ण है। – Kos

+0

'यह', 'स्वयं', 'मुझे' आदि कभी वर्णनात्मक या अच्छे पहचानकर्ता नहीं रहे हैं और हमेशा एक बुरा विचार रहा है। यदि आप किसी ऐसी भाषा में फंस गए हैं जिसके लिए आपको उनमें से एक का उपयोग करना आवश्यक है, तो आपके पास कोई विकल्प नहीं है। जाओ ऐसी भाषा नहीं है इसलिए कुछ वर्णनात्मक और उचित उपयोग करें। –

उत्तर

16

कोई तकनीकी कारण यह करने के लिए नहीं है।

यह के रूप में समझाया here सामान्य दिशा निर्देशों के खिलाफ जाता है:

जैसे "मुझे", "इस" या "स्व", वस्तु उन्मुख भाषाओं के ठेठ पहचानकर्ता कि जगह के रूप में सामान्य नाम का उपयोग न करें कार्यों के विरोध में विधियों पर अधिक जोर।

मैं भी जोड़ने के लिए है कि जिन भाषाओं में this (या self) का उपयोग में चाहते हैं, this हमेशा एक सूचक है। गो में विधि रिसीवर के लिए, यह आवश्यक नहीं है।

+0

कोडिंग शैलियों के लिए यह एक अच्छा चीटशीट है, धन्यवाद। – Atmocreations

+6

फ़ंक्शन परिभाषाओं में उपयोग करने के लिए एक अच्छा, गैर-जेनेरिक, नाम क्या होगा? 'Func (पी व्यक्ति) में Foo()', 'p' वास्तव में 'इस' से अधिक वर्णनात्मक प्रतीत नहीं होता है। – 425nesp

+0

जेनेरिकिटी और वर्णनात्मकता (?) समान नहीं हैं। 'पी' एक गैर-सामान्य विकल्प है, लेकिन * अपने आप में * यह बहुत विवरण नहीं है। इसकी वर्णनात्मकता इसके प्रकार के संयोजन से आता है। – publysher

संबंधित मुद्दे