mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-26 14:56:21 +00:00
31 lines
1002 B
Markdown
31 lines
1002 B
Markdown
## 2.4. 赋值
|
||
|
||
使用赋值语句可以更新一个变量的值,最简单的赋值语句是将要被赋值的变量放在=的左边,新值的表达式放在=的右边。
|
||
|
||
```Go
|
||
x = 1 // 命名变量的赋值
|
||
*p = true // 通过指针间接赋值
|
||
person.name = "bob" // 结构体字段赋值
|
||
count[x] = count[x] * scale // 数组、slice或map的元素赋值
|
||
```
|
||
|
||
特定的二元算术运算符和赋值语句的复合操作有一个简洁形式,例如上面最后的语句可以重写为:
|
||
|
||
```Go
|
||
count[x] *= scale
|
||
```
|
||
|
||
这样可以省去对变量表达式的重复计算。
|
||
|
||
数值变量也可以支持`++`递增和`--`递减语句(译注:自增和自减是语句,而不是表达式,因此`x = i++`之类的表达式是错误的):
|
||
|
||
```Go
|
||
v := 1
|
||
v++ // 等价方式 v = v + 1;v 变成 2
|
||
v-- // 等价方式 v = v - 1;v 变成 1
|
||
```
|
||
|
||
{% include "./ch2-04-1.md" %}
|
||
|
||
{% include "./ch2-04-2.md" %}
|