gopl-zh.github.com/ch2/ch2-04.md

31 lines
1002 B
Markdown
Raw Normal View History

2016-02-15 03:06:34 +00:00
## 2.4. 赋值
2015-12-09 07:45:11 +00:00
2016-02-15 03:06:34 +00:00
使用赋值语句可以更新一个变量的值,最简单的赋值语句是将要被赋值的变量放在=的左边,新值的表达式放在=的右边。
2015-12-09 07:45:11 +00:00
```Go
2016-02-15 03:06:34 +00:00
x = 1 // 命名变量的赋值
*p = true // 通过指针间接赋值
person.name = "bob" // 结构体字段赋值
count[x] = count[x] * scale // 数组、slice或map的元素赋值
2015-12-09 07:45:11 +00:00
```
2016-02-15 03:06:34 +00:00
特定的二元算术运算符和赋值语句的复合操作有一个简洁形式,例如上面最后的语句可以重写为:
2015-12-09 07:45:11 +00:00
```Go
2016-01-20 15:16:19 +00:00
count[x] *= scale
2015-12-09 07:45:11 +00:00
```
2016-02-15 03:06:34 +00:00
这样可以省去对变量表达式的重复计算。
2015-12-09 07:45:11 +00:00
2016-02-15 03:06:34 +00:00
数值变量也可以支持`++`递增和`--`递减语句(译注:自增和自减是语句,而不是表达式,因此`x = i++`之类的表达式是错误的):
2015-12-09 07:45:11 +00:00
```Go
2016-01-20 15:16:19 +00:00
v := 1
2016-02-15 03:06:34 +00:00
v++ // 等价方式 v = v + 1v 变成 2
v-- // 等价方式 v = v - 1v 变成 1
2015-12-09 07:45:11 +00:00
```
{% include "./ch2-04-1.md" %}
{% include "./ch2-04-2.md" %}