Go 教程

Go 面向对象

面向对象的核心是把数据和操作数据的方法放在一起,对外只暴露必要的入口。

先看一个最小可用的例子:一个只保存名字并提供问候方法的类型。

type Person struct {
    Name string
}

func (p Person) Greet() string {
    return "Hello " + p.Name
}

至于要不要用继承,判断标准很简单:共享的是行为还是仅仅是字段?只是字段的话,组合更省事。