Update golang_tutorial_16.md

pull/17/head
RickyWang1020 5 years ago committed by GitHub
parent d37869f211
commit 34f7f66d35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -33,9 +33,9 @@ type Employee struct {
*(尽管以上语句节省了代码行数,但是这会导致字段定义不够清晰,请尽量避免使用以上语句的定义方式)*
上面的结构体 `Employee` 是一个**具名结构体 `named structure`** ,因为它创建了一个具有名字的结构体类型:`Employee`。我们可以定义具名结构体类型的变量。
上面的结构体 `Employee` 是一个**具名结构体 `named structs`** ,因为它创建了一个具有名字的结构体类型:`Employee`。我们可以定义具名结构体类型的变量。
我们也可以定义一个没有类型名称的结构体,这种结构体叫做**匿名结构体 `anonymous structures`**。
我们也可以定义一个没有类型名称的结构体,这种结构体叫做**匿名结构体 `anonymous structs`**。
```golang
var employee struct {
@ -80,9 +80,9 @@ func main() {
}
```
在上面的程序中,我们定义了一个名为 `Employee` 的结构体类型。我们可以通过指定字段的名称和对应的值来创建一个结构体变量比如在第15行我们就是通过这种方式定义了 `Employee` 类型的一个结构体变量 `empl`。这里字段名称的顺序没必要和声明结构体类型时的一致。例如这里我们将 `lastName` 放在了最后,程序同样正确运行。
在上面的程序中,我们定义了一个名为 `Employee` 的结构体类型。我们可以通过指定字段的名称和对应的值来创建一个结构体变量,比如在第 15 行,我们就是通过这种方式定义了 `Employee` 类型的一个结构体变量 `emp1`。这里字段名称的顺序没必要和声明结构体类型时的一致。例如这里我们将 `lastName` 放在了最后,程序同样正确运行。
在定义结构体变量时也可以忽略字段名称,例如在第 23 行,我们定义 emp2 时没有指定字段名称。但是通过这种方式定义的结构体变量时,字段值的顺序必须与声明结构体类型时字段的顺序保持一致。
在定义结构体变量时也可以忽略字段名称,例如在第 23 行,我们定义 `emp2` 时没有指定字段名称。但是通过这种方式定义的结构体变量时,字段值的顺序必须与声明结构体类型时字段的顺序保持一致。
上面的程序输出如下:
@ -115,7 +115,7 @@ func main() {
}
```
在上面的程序中,第3行定义了一个 匿名结构体变量 emp3。正如我们提到的一样这种结构体成为匿名结构体,因为它只创建了一个新的结构体变量 emp3而没有定义新的结构体类型。
在上面的程序中,第 8 行定义了一个**匿名结构体变量** `emp3`。正如我们之前提到的,这种结构体叫做匿名结构体,因为它只创建了一个新的结构体变量 emp3而没有定义新的结构体类型。
程序的输出为:
@ -123,9 +123,9 @@ func main() {
Employee 3 {Andreah Nikola 31 5000}
```
## 结构体变量的 0
## 结构体变量的
当定义一个结构体变量,但是没有给它提供初始值,则对应的字段被赋予它们各自类型的0值。
当定义一个结构体变量,但是没有给它提供初始值,则对应的字段被赋予它们各自类型的值。
```golang
package main

Loading…
Cancel
Save