mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 00:43:26 +08:00
修改部分描述,添加必要的标点符号,补充代码超链接 (#804)
This commit is contained in:
@@ -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"`
|
||||
|
||||
|
Reference in New Issue
Block a user