我试图了解接口在 Go 中是如何工作的。
假设我有 2 个结构:
package "Shape"
type Square struct {
edgesCount int
}
type Triangle struct {
edgesCount int
}
现在我创建一个Shape界面:
type Shape interface {
}
为什么我不能指定Shape接口有一个egdesCount属性?接口是否只应该重新组合方法?
我面临的另一个问题是共享功能。不可能想出这样的事情:
func New() *Shape {
s:=new(Shape)
s.edgesCount = 0
return s
}
这比必须重写完全相同的代码要好得多:
func New() *Square {
s:=new(Square)
s.edgesCount = 0
return s
}
func New() *Triangle {
s:=new(Triangle)
s.edgesCount = 0
return s
}
(这也带来了问题,因为我无法重新声明我的New功能......)
非常感谢您的帮助
弑天下
米琪卡哇伊
人到中年有点甜
相关分类