अज्ञात फ़ील्ड (या सुपरक्लास) का उपयोग करके मैं संरचना का सही प्रकार कैसे प्राप्त करूं?गो में, मैं अज्ञात फ़ील्ड विधि का उपयोग कर टाइपऑफ प्रकार कैसे प्राप्त कर सकता हूं?
मैं इस मछली एक कॉड के रूप में खुद का वर्णन करने के लिए कोशिश कर रहा हूँ:
package main
import (
"fmt"
"reflect"
)
type Fish struct {
}
func (self *Fish) WhatAmI() string {
return reflect.TypeOf(self).String()
}
type Cod struct {
Fish
}
func main() {
c := new(Cod)
fmt.Println("I am a", c.WhatAmI())
}
उत्पादन मैं मिलता है:
I am a *main.Fish
क्या मैं चाहता हूँ है:
I am a *main.Cod
लक्ष्य 'Fish' पर तरीकों से प्रकार पता करने के लिए है, तो उस में मदद नहीं करेगा: उन तरीकों के लिए रिसीवर एक 'मछली' होगा, भले ही इसे किसी अन्य संरचना में एम्बेड किया गया हो। –