गोलंग में सूचियों के लिए कस्टम ध्वज
गोलंग का ध्वज पैकेज आसान तर्क पार्सिंग की अनुमति देता है, लेकिन यह आम तौर पर स्ट्रिंग, पूर्णांक जैसे बुनियादी प्रकारों का समर्थन करता है। या बूलियन. मूल्यों की सूचियों के साथ काम करते समय यह सीमित लग सकता है।
गोलंग फ़्लैग.वैल्यू इंटरफ़ेस को लागू करके कस्टम फ़्लैग के निर्माण की अनुमति देता है। इस इंटरफ़ेस को दो विधियों के कार्यान्वयन की आवश्यकता है: स्ट्रिंग() और सेट()। सूचियों के लिए एक कस्टम ध्वज को परिभाषित करके, आप कमांड-लाइन ध्वज के माध्यम से पारित कई मानों के पार्सिंग को सक्षम कर सकते हैं।
एक कस्टम सूची ध्वज को परिभाषित करना
निम्नलिखित उदाहरण पर विचार करें :
package main import "flag" import "fmt" type arrayFlags []string // String() implements the flag.Value interface func (i *arrayFlags) String() string { return fmt.Sprintf("%v", *i) } // Set() implements the flag.Value interface func (i *arrayFlags) Set(value string) error { *i = append(*i, value) return nil } var myFlags arrayFlags func main() { flag.Var(&myFlags, "list1", "Some description for this param.") flag.Parse() fmt.Println(myFlags) }
यह arrayFlags नामक एक कस्टम फ़्लैग प्रकार को परिभाषित करता है जो एकाधिक मान स्वीकार करता है। ध्वज "सूची 1" ध्वज नाम से जुड़ा हुआ है और इसे ध्वज का उपयोग करके पार्स किया जा सकता है। पार्स ()। आप प्रोग्राम को इस प्रकार चला सकते हैं:
go run your_file.go --list1 value1 --list1 value2 --list1 value3यह myFlags वैरिएबल को दिए गए तीन मानों से भर देगा: ["value1", "value2", "value3"]। फिर आप अपने प्रोग्राम के भीतर इन मानों तक पहुंच सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3