我在想,如果做這樣的事情在golang甚至有可能 -在golang中,如何將方法分配給現有的結構對象?
type MyStruct struct {
id int
}
func (ms *MyStruct) PrintHello() {
fmt.Printf("Hello from original method %v", ms.id)
}
func main() {
fmt.Println("Hello, playground")
m := MyStruct{}
m.PrintHello()
m.PrintHello = func() {fmt.Printf("Hello from newer method 2")}
}
Error: cannot assign to m.PrintHello
https://play.golang.org/p/2oJQFFH4O5
很抱歉,如果這不適合去程序員是有意義的,我是新來的你去,如果一些人懷疑可以在Go中完成可以用動態類型語言完成的事情。謝謝! :-)
這個答案可能會提供一些見解http://stackoverflow.com/questions/21251242/is-it-possible-to-call-overridden-method-from-parent-struct-in-golang – Adam
https:// play .golang.org/p/Lp3aP2dqpt – mkopriva
@mkopriva做這件事的特殊方式可能比我的更優先。但是再次,它仍然包含能夠訪問內部結構數據成員的問題。但至少該方法本身是一個真正的方法。 – RayfenWindspear