第十章修改 (#840)

Co-authored-by: Joe Chen <jc@unknwon.io>
This commit is contained in:
Haigang Zhou
2022-05-11 22:58:19 +08:00
committed by GitHub
parent 471d59af32
commit d3979794f4
9 changed files with 108 additions and 106 deletions

View File

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