Avatar ·

Go में फंक्शन ओवरलोडिंग न होने पर डिफ़ॉल्ट मान कैसे पास करें?

सभी को नमस्ते! मैंने अभी-अभी Python के बाद Go सीखना शुरू किया है और एक अनपेक्षित समस्या का सामना किया है। Python में मैं डिफ़ॉल्ट आर्गुमेंट वाले फंक्शन लिखने का आदी था, उदाहरण के लिए:\n\n```python\ndef greet(name, greeting="Hello"):\n print(f"{greeting}, {name}!")\n```\n\nअगर `greet("Alice")` कॉल करें, तो greeting अपने आप "Hello" हो जाता है। ज़रूरत होने पर अपना मान पास कर सकते हैं: `greet("Alice", "Hi")`.\n\nअब मैं Go में लिख रहा हूँ और ऐसा ही मेथड बनाना चाहता हूँ। मान लीजिए, मेरे पास एक `Config` स्ट्रक्चर है और एक `NewClient` मेथड है जो सर्वर का पता और टाइमआउट लेता है। मैं चाहता हूँ कि डिफ़ॉल्ट टाइमआउट 30 सेकंड हो, लेकिन कभी-कभी उपयोगकर्ता अपना मान सेट कर सके। Go में मैंने ऐसा लिखने की कोशिश की:\n\n```go\ntype Config struct {\n Address string\n Timeout int\n}\n\nfunc NewClient(address string, timeout int) *Conf