Avatar ·

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

सभी को नमस्ते! मैं Go में नौसिखिया हूँ, Java से आ रहा हूँ। वहाँ मैं आदी था कि इंटरफ़ेस में न केवल method signatures बल्कि फील्ड्स (properties) भी हो सकते हैं। उदाहरण के लिए:\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कंपाइलर error देता है: `interface contains embedded field Name which is not a method`। मैं हैरान हूँ। तो Go में ऐसी structure को सही तरीके से कैसे describe करूँ जो गारंटी के साथ कुछ फील्ड्स रखती हो? मुझे चाहिए कि कोई भी object जो `Animal` interface को implement करता है, उसके पास अनिवार्य रूप से `Name` (string) फील्ड हो। इसके बिना मेरा program compile time पर टूट जाता है।\n\nमैंने ऐसा करने की कोशिश की:\n\n```go\ntype Animal struct {\n Name string