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

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग