diff --git a/eBook/10.1.md b/eBook/10.1.md index ee97b2d..179b586 100644 --- a/eBook/10.1.md +++ b/eBook/10.1.md @@ -35,7 +35,7 @@ t = new(T) 写这条语句的惯用方法是:`t := new(T)`,变量 `t` 是一个指向 `T`的指针,此时结构体字段的值是它们所属类型的零值。 -声明 `var t T` 也会给 `t` 分配内存,并零值化内存,但是这个时候 `t` 是类型T。在这两种方式中,`t` 通常被称做类型 T 的一个实例(instance)或对象(Object)。 +声明 `var t T` 也会给 `t` 分配内存,并零值化内存,但是这个时候 `t` 是类型T。在这两种方式中,`t` 通常被称做类型 T 的一个实例(instance)或对象(object)。 示例 10.1 [structs_fields.go](examples/chapter_10/structs_fields.go) 给出了一个非常简单的例子: @@ -85,7 +85,7 @@ v.i p.i ``` -初始化一个结构体实例(一个结构体字面量:struct-literal)的更简短和惯用的方式如下: +初始化一个结构体实例(一个结构体字面量:struct-literal)的更简短和惯用的方式如下: ```go ms := &struct1{10, 15.5, "Chris"} @@ -120,7 +120,7 @@ intr := Interval{end:5} (C) 在(A)中,值必须以字段在结构体定义时的顺序给出,**&** 不是必须的。(B)显示了另一种方式,字段名加一个冒号放在值的前面,这种情况下值的顺序不必一致,并且某些字段还可以被忽略掉,就像(C)中那样。 -结构体类型和字段的命名遵循可见性规则(第 [4.2](04.2.md) 节),一个导出的结构体类型中有些字段是导出的,另一些不是,这是可能的。 +结构体类型和字段的命名遵循可见性规则(第 [4.2](04.2.md) 节),一个导出的结构体类型中有些字段是导出的,另一些不是,这是可能的。 下图说明了结构体类型实例和一个指向它的指针的内存布局: @@ -138,7 +138,7 @@ type Point struct { x, y int } 类型 strcut1 在定义它的包 pack1 中必须是唯一的,它的完全类型名是:`pack1.struct1`。 -下面的例子 [Listing 10.2—person.go](examples/person.go) 显示了一个结构体 Person,一个方法,方法有一个类型为 `*Person` 的参数(因此对象本身是可以被改变的),以及三种调用这个方法的不同方式: +下面的例子 [Listing 10.2—person.go](examples/chapter_10/struct_pack/person.go) 显示了一个结构体 Person,一个方法,方法有一个类型为 `*Person` 的参数(因此对象本身是可以被改变的),以及三种调用这个方法的不同方式: ```go package main