Avatar ·

Go में फ़ंक्शन नाम से पहले कोष्ठक का क्या अर्थ है?

सभी को नमस्ते! मैंने हाल ही में Go सीखना शुरू किया है, और फ़ंक्शन घोषित करने का सिंटैक्स मुझे बहुत भ्रमित करता है। मैं Python का आदी हूँ, जहाँ सब कुछ सरल है: `def func_name(args):`। लेकिन Go में मैं अजीब संरचनाएँ देखता हूँ। उदाहरण के लिए, मुझे यह कोड मिला: ```go type Rectangle struct { Width float64 Height float64 } func (r Rectangle) Area() float64 { return r.Width * r.Height } ``` `Area` फ़ंक्शन के नाम से पहले यह `(r Rectangle)` क्या है? मैंने सोचा था कि पैरामीटर फ़ंक्शन नाम के बाद गोल कोष्ठक में लिखे जाते हैं, जैसे अन्य भाषाओं में। लेकिन यहाँ वे नाम से पहले क्यों हैं? क्या यह कोई विशेष सिंटैक्स है? मैंने सिर्फ `func Area(r Rectangle) float64` लिखने की कोशिश की — यह काम करता है, लेकिन तब मैं मेथड को `rect.Area()` की तरह कॉल नहीं कर सकता, केवल `Area(rect)` की तरह। क्या अंतर है? नाम से पहले कोष्ठक कब उपयोग करने चाहिए और कब बाद में? और "receiver" क्या है, मैंने यह शब्द सुना है लेकिन समझ नहीं पाया कि इसकी आवश्यकता क्यों है। कृपया एक शुरुआत करने वाले के लिए समझाएँ। पहले से धन्यवाद!