# 10 结构（struct）与方法（method）

Go语言通过类型别名和结构体的方式来支持用户自定或自定义类型。试图用一个结构体及其属性代表一个真实世界的实体。结构体是复合类型，当你想定义一种类型由若干属性组成，每个属性都有自己的类型和值，并将数据段组合在一起的时候你可以使用它。然后像作为单一实体的一部分一样去访问它的数据。结构体也是值类型，因此可以通过**new**方法来创建。

组成结构体的数据段被称为字段，每个字段都有自己的类型和名字，一个结构体中的字段名在该结构体中必须是唯一的。

这个概念在软件工程学的文献中被称作ADT(抽象数据类型)，在像是Colbal这样古老的语言当中被称作记录(record)，在C类语言中同样被称为结构体，在面向对象语言中则可以看作一个轻量级的没有方法的类。然而在Go语言当中并没有类这个概念，所以结构体在Go语言中有着很重要的地位。

## 链接
- [目录](directory.md)
- 上一章：[在 Go 程序中使用外部库](09.11.md)
- 下一节：[结构体的定义](10.1.md)
