Avatar ·

क्या Go में Java/C# की तरह फील्ड्स वाला इंटरफेस घोषित किया जा सकता है?

सभी को नमस्ते! मैं Go में नया हूँ, Java से आ रहा हूँ। वहाँ मैं आदी था कि इंटरफेस में न केवल मेथड सिग्नेचर हो सकते हैं, बल्कि फील्ड्स (प्रॉपर्टीज) भी हो सकते हैं। उदाहरण के लिए:\n\n```java\npublic interface Animal {\n String name = "Unknown";\n void speak();\n}\n```\n\nअब मैं Go में भी ऐसा ही करने की कोशिश कर रहा हूँ:\n\n```go\ntype Animal interface {\n Name string\n Speak()\n}\n```\n\nकंपाइलर एरर दे रहा है: `interface contains embedded field Name which is not a method`। मैं हैरान हूँ। तो Go में ऐसी स्ट्रक्चर को सही तरीके से कैसे डिस्क्राइब करें जो गारंटी के साथ कुछ निश्चित फील्ड्स रखती हो? मुझे चाहिए कि कोई भी ऑब्जेक्ट जो `Animal` इंटरफेस को इम्प्लीमेंट करता है, उसके पास अनिवार्य रूप से `Name` फील्ड (स्ट्रिंग) हो। इसके बिना मेरा प्रोग्राम कंपाइलेशन स्टेज पर ही फेल हो जाता है।\n\nमैंने ऐसा करने की कोशिश की:\n\n```go\ntype Animal struct {\n Name string

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग