Files
the-way-to-go_ZH_CN/eBook/10.0.md
Haigang Zhou d3979794f4 第十章修改 (#840)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-05-11 22:58:19 +08:00

14 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 10.0 结构 (struct) 与方法 (method)
Go 通过类型别名 (alias types) 和结构体的形式支持用户自定义类型,或者叫定制类型。一个带属性的结构体试图表示一个现实世界中的实体。结构体是复合类型 (composite types),当需要定义一个类型,它由一系列属性组成,每个属性都有自己的类型和值的时候,就应该使用结构体,它把数据聚集在一起。然后可以访问这些数据,就好像它是一个独立实体的一部分。结构体也是值类型,因此可以通过 **new** 函数来创建。
组成结构体类型的那些数据称为 **字段 (fields)**。每个字段都有一个类型和一个名字;在一个结构体中,字段名字必须是唯一的。
结构体的概念在软件工程上旧的术语叫 ADT抽象数据类型Abstract Data Type在一些老的编程语言中叫 **记录 (Record)**,比如 Cobol在 C 家族的编程语言中它也存在,并且名字也是 **struct**,在面向对象的编程语言中,跟一个无方法的轻量级类一样。不过因为 Go 语言中没有类的概念,因此在 Go 中结构体有着更为重要的地位。
## 链接
- [目录](directory.md)
- 上一节:[在 Go 程序中使用外部库](09.11.md)
- 下一节:[结构体定义](10.1.md)