回到简体

This commit is contained in:
chai2010
2016-02-15 11:06:34 +08:00
parent 9e878f9944
commit 2b37b23285
177 changed files with 2354 additions and 2354 deletions

View File

@@ -1,6 +1,6 @@
### 2.3.1. 簡短變量聲
### 2.3.1. 简短变量声
在函數內部,有一種稱爲簡短變量聲明語句的形式可用於聲明和初始化局部量。它以“名字 := 表式”形式聲明變量,量的型根據表達式來自動推導。下面是lissajous函中的三個簡短變量聲明語§1.4
在函数内部,有一种称为简短变量声明语句的形式可用于声明和初始化局部量。它以“名字 := 表式”形式声明变量,量的型根据表达式来自动推导。下面是lissajous函中的三个简短变量声明语§1.4
```Go
anim := gif.GIF{LoopCount: nframes}
@@ -8,7 +8,7 @@ freq := rand.Float64() * 3.0
t := 0.0
```
爲簡潔和靈活的特點,簡短變量聲明被泛用大部分的局部量的明和初始化。var形式的聲明語句往往是用需要式指定變量類型地方,或者因爲變量稍後會被重新值而初始值無關緊要的地方。
为简洁和灵活的特点,简短变量声明被广泛用大部分的局部量的明和初始化。var形式的声明语句往往是用需要式指定变量类型地方,或者因为变量稍后会被重新值而初始值无关紧要的地方。
```Go
i := 100 // an int
@@ -18,21 +18,21 @@ var err error
var p Point
```
和var形式聲明變語句一樣,簡短變量聲明語句也可以用來聲明和初始化一組變量:
和var形式声明变语句一样,简短变量声明语句也可以用来声明和初始化一组变量:
```Go
i, j := 0, 1
```
但是這種同時聲明多個變量的方式應該限製隻在可以提高代碼可讀性的地方使用比如for句的循的初始化句部分。
但是这种同时声明多个变量的方式应该限制只在可以提高代码可读性的地方使用比如for句的循的初始化句部分。
請記住“:=”是一個變量聲明語句,而“=‘是一個變量賦值操作。也不要混淆多個變量的明和元的多重§2.4.1者是將右邊各個的表式值賦值給左邊對應位置的各個變量:
请记住“:=”是一个变量声明语句,而“=‘是一个变量赋值操作。也不要混淆多个变量的明和元的多重§2.4.1者是将右边各个的表式值赋值给左边对应位置的各个变量:
```Go
i, j = j, i // 交 i 和 j 的值
i, j = j, i // 交 i 和 j 的值
```
和普通var形式的變量聲明語句一樣,簡短變量聲明語句也可以用函的返迴值來聲明和初始化像下面的os.Open函數調用將返迴兩個值:
和普通var形式的变量声明语句一样,简短变量声明语句也可以用函的返回值来声明和初始化像下面的os.Open函数调用将返回两个值:
```Go
f, err := os.Open(name)
@@ -43,9 +43,9 @@ if err != nil {
f.Close()
```
里有一個比較微妙的地方:簡短變量聲明左邊的變量可能不是全部都是剛剛聲明的。如果有一些已在相同的法域聲明過§2.7),那麽簡短變量聲明語句對這些已經聲明過的變量就隻有賦值行了。
里有一个比较微妙的地方:简短变量声明左边的变量可能不是全部都是刚刚声明的。如果有一些已在相同的法域声明过§2.7),那么简短变量声明语句对这些已经声明过的变量就只有赋值行了。
在下面的代中,第一個語句聲明了in和err兩個變量。在第二個語句隻聲明了out一個變量,然後對已經聲明的err行了值操作。
在下面的代中,第一个语句声明了in和err两个变量。在第二个语句只声明了out一个变量,然后对已经声明的err行了值操作。
```Go
in, err := os.Open(infile)
@@ -53,7 +53,7 @@ in, err := os.Open(infile)
out, err := os.Create(outfile)
```
簡短變量聲明語句中必至少要明一新的量,下面的代碼將不能編譯通過
简短变量声明语句中必至少要明一新的量,下面的代码将不能编译通过
```Go
f, err := os.Open(infile)
@@ -61,9 +61,9 @@ f, err := os.Open(infile)
f, err := os.Create(outfile) // compile error: no new variables
```
的方法是第二個簡短變量聲明語句改用普通的多重賦值語言。
的方法是第二个简短变量声明语句改用普通的多重赋值语言。
簡短變量聲明語句隻有對已經在同級詞法域聲明過的變量才和值操作句等,如果量是在外部法域明的,那麽簡短變量聲明語句將會在當前詞法域重新明一新的量。我在本章後面將會看到似的例子。
简短变量声明语句只有对已经在同级词法域声明过的变量才和值操作句等,如果量是在外部法域明的,那么简短变量声明语句将会在当前词法域重新明一新的量。我在本章后面将会看到似的例子。