update tw

This commit is contained in:
chai2010
2015-12-18 10:53:03 +08:00
parent 510c741a6f
commit c66a96ee52
106 changed files with 864 additions and 864 deletions

View File

@@ -1,6 +1,6 @@
### 2.4.1. 元組賦值
元組賦值是另一種形式的賦值語句, 允許時更新多個變量的值. 在賦值之前, 賦值語句右邊的所有達式將會先進行求值, 然後再統一更新左邊變量的值. 這對於處理有些時齣現在元組賦值語句左右兩邊的變量很有幫助, 例如我們可以這樣交換兩個變量的值:
元組賦值是另一種形式的賦值語句, 允許時更新多個變量的值. 在賦值之前, 賦值語句右邊的所有達式將會先進行求值, 然後再統一更新左邊變量的值. 這對於處理有些時齣現在元組賦值語句左右兩邊的變量很有幫助, 例如我們可以這樣交換兩個變量的值:
```Go
x, y = y, x
@@ -31,22 +31,22 @@ func fib(n int) int {
}
```
元組賦值也可以使一繫列瑣碎賦值更緊湊(譯註: 特是在for循環的初始化部分),
元組賦值也可以使一繫列瑣碎賦值更緊湊(譯註: 特是在for循環的初始化部分),
```Go
i, j, k = 2, 3, 5
```
但如果達式太復雜的話, 應該量避免元組賦值; 因一個個單獨的賦值語句的可讀性會更好.
但如果達式太復雜的話, 應該量避免元組賦值; 因一個個單獨的賦值語句的可讀性會更好.
某些達式會產生多個值, 比如調用一個有多個返迴值的函數.
當這樣一個函數調用齣現在元組賦值右邊的達式中時(譯註: 右邊不能再有其他達式), 左邊變量的數目必鬚和右邊一緻.
某些達式會產生多個值, 比如調用一個有多個返迴值的函數.
當這樣一個函數調用齣現在元組賦值右邊的達式中時(譯註: 右邊不能再有其他達式), 左邊變量的數目必鬚和右邊一緻.
```Go
f, err = os.Open("foo.txt") // function call returns two values
```
通常, 這類函數會用額外的返迴值達某種錯誤類型, 例如 os.Open 是返迴一個 error 類型的錯誤, 還有一些是返迴佈爾值, 通常被稱ok. 在稍後我們看到的三個操作都是類似的行. 如果 字典査找(§4.3), 類型斷言(§7.10), 或 通道接收(§8.4.2) 齣現在賦值語句的右邊, 它們都將產生兩個結果, 有一個額外的佈爾結果示操作是否成功:
通常, 這類函數會用額外的返迴值達某種錯誤類型, 例如 os.Open 是返迴一個 error 類型的錯誤, 還有一些是返迴佈爾值, 通常被稱ok. 在稍後我們看到的三個操作都是類似的行. 如果 字典査找(§4.3), 類型斷言(§7.10), 或 通道接收(§8.4.2) 齣現在賦值語句的右邊, 它們都將產生兩個結果, 有一個額外的佈爾結果示操作是否成功:
```Go
v, ok = m[key] // map lookup