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

31 lines
1002 B
Markdown
Raw Normal View History

2015-12-09 07:45:11 +00:00
## 2.4. 賦值
2015-12-26 08:57:06 +00:00
使用賦值語句可以更新一個變量的值,最簡單的賦值語句是將要被賦值的變量放在=的左邊,新值的表達式放在=的右邊。
2015-12-09 07:45:11 +00:00
```Go
2016-01-20 15:16:19 +00:00
x = 1 // 命名變量的賦值
2015-12-18 06:49:31 +00:00
*p = true // 通過指針間接賦值
2015-12-09 07:45:11 +00:00
person.name = "bob" // 結構體字段賦值
2016-01-20 15:16:19 +00:00
count[x] = count[x] * scale // 數組、slice或map的元素賦值
2015-12-09 07:45:11 +00:00
```
2015-12-26 08:57:06 +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
```
2015-12-26 08:57:06 +00:00
這樣可以省去對變量表達式的重複計算。
2015-12-09 07:45:11 +00:00
2015-12-26 08:57:06 +00:00
數值變量也可以支持`++`遞增和`--`遞減語句(譯註:自增和自減是語句,而不是表達式,因此`x = i++`之類的表達式是錯誤的):
2015-12-09 07:45:11 +00:00
```Go
2016-01-20 15:16:19 +00:00
v := 1
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" %}