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

गो में एक फ़ंक्शन से दूसरे फ़ंक्शन में एकाधिक रिटर्न मान कैसे पास करें?

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

How to Pass Multiple Return Values from One Function to Another in Go?

फ़ंक्शन रिटर्न मान को दूसरे फ़ंक्शन में इनपुट के रूप में पास करना

गो में, आप आसानी से एक फ़ंक्शन के रिटर्न मान को इनपुट तर्क के रूप में पास कर सकते हैं एक अन्य कार्य. उदाहरण के लिए:

func returnIntAndString() (i int, s string) {...}
func doSomething(i int, s string) {...}

doSomething(returnIntAndString())

हालाँकि, जटिलताएँ तब उत्पन्न होती हैं जब आप दूसरे फ़ंक्शन में एक अतिरिक्त तर्क जोड़ते हैं:

func doSomething(msg string, i int, s string) {...}
doSomething("message", returnIntAndString()) // Error

त्रुटि संदेश इंगित करता है कि आप एक ही तर्क की अपेक्षा वाले फ़ंक्शन में एकाधिक रिटर्न मान पास नहीं कर सकते।

Solution

गो विनिर्देश के अनुसार, एक फ़ंक्शन केवल अपने रिटर्न मानों को इनपुट तर्कों के रूप में किसी अन्य फ़ंक्शन में पास कर सकता है यदि बाद वाला ठीक उसी संख्या में तर्कों की अपेक्षा करता है। इस परिदृश्य में अतिरिक्त पैरामीटर पारित करने के लिए कोई तंत्र नहीं है। &&&] returnIntAndString() के रिटर्न मानों को अलग-अलग वेरिएबल्स पर असाइन करें और उन्हें तर्क के रूप में पास करें doSomething().

एक ऐसे फ़ंक्शन का उपयोग करें जो विविध तर्क स्वीकार करता है:
    यदि आपको अतिरिक्त तर्क पारित करने की आवश्यकता है, तो आप एक फ़ंक्शन परिभाषित कर सकते हैं जो विविध तर्क स्वीकार करता है, जैसा कि नीचे दिए गए उदाहरण में देखा गया है:
  1. func doSomethingVariadic(msg string, args...interface{}) { // तर्कों की परिवर्तनीय संख्या को संभालने के लिए कोड }
  2. फिर आप इस फ़ंक्शन को वांछित तर्कों के साथ कॉल कर सकते हैं, जिसमें returnIntAndString() के रिटर्न मान शामिल हैं:
doSomethingVariadic("message", returnIntAndString())
            
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3