我有一个这样的界面:
type ViewInterface interface{
Init() View
}
type View struct{
Width int
Height int
}
所以我从 View 创建了一个新类型
type MainView View
func (m MainView) Init() MainView{
return MainView{
Width:10,
Height:10,
}
}
然后我将 MainView 传递给以下方法:
func Render(views ...ViewInterface){
for _, view := range views {
v := view.Init()
}
}
func main() {
Render(MainView{})
}
但我收到此错误:
不能使用 MainView 文字(MainView 类型)作为 Render 参数中的 ViewInterface 类型:MainView 没有实现 ViewInterface(Init 方法的类型错误)
有 Init() MainView
想要 Init() View
为什么MianView不一样View?解决这个问题的正确方法是什么?
慕码人2483693
呼如林
相关分类