"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कस्टम `errors.New` कार्यान्वयन में `fmt.Sprintf` में परिवर्तनीय तर्क कैसे पास करें?

कस्टम `errors.New` कार्यान्वयन में `fmt.Sprintf` में परिवर्तनीय तर्क कैसे पास करें?

2024-11-09 को प्रकाशित
ब्राउज़ करें:590

How to Pass Variable Arguments to `fmt.Sprintf` in a Custom `errors.New` Implementation?

त्रुटियों के एक संस्करण को कैसे कार्यान्वित करें।नया जो fmt.Sprintf के समान पैरामीटर को स्वीकार करता है

त्रुटियों के एक संस्करण को कार्यान्वित करने के लिए।नया जो समान पैरामीटर को स्वीकार करता है fmt.Sprintf, कोई NewError फ़ंक्शन का उपयोग कर सकता है, जिसे इस प्रकार परिभाषित किया गया है:

func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a))
}

हालाँकि, यह फ़ंक्शन सही ढंग से काम नहीं करता है क्योंकि a में तर्कों की परिवर्तनीय संख्या NewError में एकल सरणी पैरामीटर बन जाती है, जिससे Sprintf को प्रारूप स्ट्रिंग में केवल एक पैरामीटर भरना पड़ता है।

इस समस्या को ठीक करने के लिए, NewError में अंतिम पैरामीटर को ... सिंटैक्स के साथ तर्कों की एक चर संख्या के रूप में चिह्नित किया जाना चाहिए:

func NewError(format string, a ...interface{}) error {
    return errors.New(fmt.Sprintf(format, a...))
}

यह fmt.Sprintf को तर्कों की परिवर्तनीय संख्या के रूप में व्याख्या करने की अनुमति देता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3