Go में स्ट्रक्ट फ़ील्ड्स के लिए डिफ़ॉल्ट मान कैसे सेट करें?
सभी को नमस्कार! मैं Go में नया हूँ और एक समस्या का सामना कर रहा हूँ: Go में कंस्ट्रक्टर नहीं हैं और Python या PHP की तरह स्ट्रक्ट फ़ील्ड्स के लिए डिफ़ॉल्ट मान निर्दिष्ट करने का कोई अंतर्निहित तंत्र नहीं है। मान लीजिए, मेरे पास एक एप्लिकेशन कॉन्फ़िगरेशन के लिए एक स्ट्रक्ट है:
```go
type Config struct {
Port int
Timeout int
Debug bool
}
```
मैं चाहता हूँ कि डिफ़ॉल्ट रूप से `Port` 8080, `Timeout` 30 सेकंड और `Debug` `false` हो। लेकिन जब मैं स्ट्रक्ट `cfg := Config{}` बनाता हूँ, तो सभी फ़ील्ड्स को शून्य मान (0, 0, false) मिलते हैं। हर बार सभी फ़ील्ड्स को स्पष्ट रूप से निर्दिष्ट करना पड़ता है: `cfg := Config{Port: 8080, Timeout: 30}`। यह असुविधाजनक है, खासकर अगर स्ट्रक्ट में कई फ़ील्ड्स हों और मैं चाहता हूँ कि उनमें से कुछ के उचित डिफ़ॉल्ट मान हों।
मैंने स्ट्रक्ट टैग का उपयोग करने की कोशिश की, लेकिन वे इनिशियलाइज़ेशन को प्रभावित नहीं करते। क्या स्ट्रक्ट परिभाषा में सीधे डिफ़ॉल्ट मान सेट करने का कोई तरीका है? या क्या मुझे कोई फ़ैक्टरी function लिखनी होगी? लेकिन तब हर स्ट्रक्ट के लिए ऐसा करना पड़ेगा।