修改部分描述,添加必要的标点符号,补充代码超链接 (#804)

This commit is contained in:
Jck
2021-10-25 23:34:42 +08:00
committed by GitHub
parent d5578df00a
commit 39dbdb7094
100 changed files with 433 additions and 414 deletions

View File

@@ -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) 给出了一个非常简单的例子:
@@ -79,8 +79,8 @@ func main() {
```go
type myStruct struct { i int }
var v myStruct // v是结构体类型变量
var p *myStruct // p是指向一个结构体类型变量的指针
var v myStruct // v 是结构体类型变量
var p *myStruct // p 是指向一个结构体类型变量的指针
v.i
p.i
```
@@ -89,7 +89,7 @@ p.i
```go
ms := &struct1{10, 15.5, "Chris"}
// 此时ms的类型是 *struct1
// 此时 ms 的类型是 *struct1
```
或者:
@@ -186,7 +186,7 @@ func main() {
The name of the person is CHRIS WOODWARD
The name of the person is CHRIS WOODWARD
在上面例子的第二种情况中,可以直接通过指针,像 `pers2.lastName="Woodward"` 这样给结构体字段赋值,没有像 C++ 中那样需要使用 `->` 操作符Go 会自动做这样的转换。
在上面例子的第二种情况中,可以直接通过指针,像 `pers2.lastName = "Woodward"` 这样给结构体字段赋值,没有像 C++ 中那样需要使用 `->` 操作符Go 会自动做这样的转换。
注意也可以通过解指针的方式来设置值:`(*pers2).lastName = "Woodward"`