本节重点:
- 学会在 Go 中如何实现 OOP
Go 不是纯粹的面向对象的编程语言。这节我们学习下与其他面向对象的语言(如 Java)相比,它们中的一些在实现上完全不同。
结构而不是类
Go 不提供类,但提供 structs。可以在结构上添加方法。这提供了将数据和对数据进行操作的方法捆绑在一起的行为,类似于一个类。
让我们从一个例子开始,以便更好地理解。
我们将在此示例中创建一个自定义包,因为它有助于更好地理解结构如何成为类的有效替代品。
在~/Documents/
里面创建一个子文件夹oop
。
让我们初始化oop
。 在目录中键入以下命令:
go mod init oop
在oop里面创建一个子文件夹employee。在employee文件夹中,创建一个名为employee.go的文件 。这时文件结构如下:
├── Documents
│ └── oop
│ ├── employee
│ │ └── employee.go
│ └── go.mod
打开 employee.go
文件写入如下代码:</