mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 03:55:28 +08:00
* Update 06.4.md 标点符号错误 * Update 06.5.md * Update 06.6.md * Update 06.8.md 修正上一节目录索引错误 * Update 06.8.md * Update 07.0.md * Update 07.1.md * Update 07.6.md 用词不统一 * Update 08.0.md * Update 08.6.md 用词不统一 * Update 09.0.md * Update 09.5.md 修改不通顺 * 拼写错误 [建议加上`git remote -v`](https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/) * Update 10.0.md * 统一风格 * 调整位置,保证最后一行可以输出 * 保证最后一行可以输出 * 格式 * markdown 修改
1.3 KiB
1.3 KiB
10 结构(struct)与方法(method)
Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型。一个带属性的结构体试图表示一个现实世界中的实体。结构体是复合类型(composite types),当需要定义一个类型,它由一系列属性组成,每个属性都有自己的类型和值的时候,就应该使用结构体,它把数据聚集在一起。然后可以访问这些数据,就好像它是一个独立实体的一部分。结构体也是值类型,因此可以通过 new 函数来创建。
组成结构体类型的那些数据称为 字段(fields)。每个字段都有一个类型和一个名字;在一个结构体中,字段名字必须是唯一的。
结构体的概念在软件工程上旧的术语叫 ADT(抽象数据类型:Abstract Data Type),在一些老的编程语言中叫 记录(Record),比如 Cobol,在 C 家族的编程语言中它也存在,并且名字也是 struct,在面向对象的编程语言中,跟一个无方法的轻量级类一样。不过因为 Go 语言中没有类的概念,因此在 Go 中结构体有着更为重要的地位。
链接
- 目录
- 上一节:在 Go 程序中使用外部库
- 下一节:结构体定义