प्रकार के अभिकथनों के लिए कार्यों में प्रकार के वेरिएबल्स को पास करना
आप एक फ़ंक्शन में एक प्रकार को पास करके प्रकार के अभिकथनों को निष्पादित करना चाहते हैं। मूलतः, आपका लक्ष्य निम्नलिखित हासिल करना है:
// Note that this is pseudocode, because Type isn't valid here
func myfunction(mystring string, mytype Type) {
...
someInterface := translate(mystring)
object, ok := someInterface.(mytype)
... // Do other stuff
}
func main() {
// Desired function call
myfunction("hello world", map[string]string)
}
मायफंक्शन में प्रकार के दावे सफलतापूर्वक करने के लिए, निम्नलिखित फ़ंक्शन घोषणा का उपयोग करें:
package main
import "reflect"
func myfunction(v interface{}, mytype interface{}) bool {
return reflect.TypeOf(v) == reflect.TypeOf(mytype)
}
func main() {
assertNoMatch := myfunction("hello world", map[string]string{})
fmt.Printf("% v\n", assertNoMatch) // false
assertMatch := myfunction("hello world", "stringSample")
fmt.Printf("% v\n", assertMatch) // true
}
इस दृष्टिकोण में उस प्रकार के नमूने का उपयोग करना शामिल है जिसे आप मिलान करना चाहते हैं, यह सुनिश्चित करना कि सफल प्रकार के दावे के लिए प्रकार समान हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3