我在空闲时间断断续续地使用 Go 工作了几个月,我觉得我已经掌握了它。来自传统的 OOP 语言,如 Java 和 PHP,我很难掌握 Go 中的组合和嵌入。我认为它最近终于被点击并想要更多地使用它,但我的一个想法遇到了障碍。
假设我有一个来自具有 Validate 方法的包的结构,我将它嵌入到我当前正在使用的包中的结构中。 有没有办法(我拥有这两个包)可以获得对结构的引用是在 Validate 方法中嵌入吗?有点像查看谁给我打电话的方式,因为我会在“父”而不是嵌入式上调用它。
我会试着想象这...
type B struct {}
func (b B) Validate() {
// get reference somehow of A obj
}
type A struct {
B
}
a := A{B{}}
a.Validate()
我觉得这似乎是不可能的,但如果可以的话会很酷。我想您需要使 A 和 B 都具有相同的接口类型才能使其工作。任何想法或帮助将不胜感激。
交互式爱情
回首忆惘然
相关分类