在面向对象的语言中,我使用类变量通过增加构造次数和减少破坏次数来跟踪当前产生了多少个实例。
我尝试在go中实现类似的行为:
package entity
type Entity struct {
Name string
}
func New(name string) Entity {
entity := Entity{name}
counter++
return entity
}
var counter int = 0
func (e *Entity) Count() int {
return counter
}
由于我无法通过析构函数递减计数器,因此该方法起作用了一半。
我能以某种方式模仿对象破坏吗?我如何正确跟踪实例计数?
相关分类