回到简体

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,32 +1,32 @@
## 2.3.
## 2.3.
var聲明語句可以建一特定型的量,然後給變量附加一名字,併且設置變量的初始值。變量聲明的一般法如下:
var声明语句可以建一特定型的量,然后给变量附加一名字,并且设置变量的初始值。变量声明的一般法如下:
```Go
var 量名字 =
var 量名字 =
```
其中“*型*”或“*= 表式*”兩個部分可以省略其中的一。如果省略的是型信息,那麽將根據初始化表達式來推導變量的型信息。如果初始化表式被省略,那麽將用零值初始化該變量。 數值類型變量對應的零值是0布爾類型變量對應的零值是false字符串類型對應的零值是空字符串,接口或引用包括slice、map、chan和函數)變量對應的零值是nil。數組或結構體等聚合類型對應的零值是每元素或字段都是對應該類型的零值。
其中“*型*”或“*= 表式*”两个部分可以省略其中的一。如果省略的是型信息,那么将根据初始化表达式来推导变量的型信息。如果初始化表式被省略,那么将用零值初始化该变量。 数值类型变量对应的零值是0布尔类型变量对应的零值是false字符串类型对应的零值是空字符串,接口或引用包括slice、map、chan和函数)变量对应的零值是nil。数组或结构体等聚合类型对应的零值是每元素或字段都是对应该类型的零值。
零值初始化機製可以保每個聲明的變量總是有一良好定的值因此在Go言中不存在未初始化的量。這個特性可以化很多代,而且可以在有增加外工作的前提下確保邊界條件下的合理行。例如:
零值初始化机制可以保每个声明的变量总是有一良好定的值因此在Go言中不存在未初始化的量。这个特性可以化很多代,而且可以在有增加外工作的前提下确保边界条件下的合理行。例如:
```Go
var s string
fmt.Println(s) // ""
```
段代碼將打印一空字符串,而不是導致錯誤或産生不可知的行。Go言程序員應該讓一些聚合型的零值也具有意義,這樣可以保不管任何型的變量總是有一合理有效的零值狀態
段代码将打印一空字符串,而不是导致错误或产生不可知的行。Go言程序员应该让一些聚合型的零值也具有意义,这样可以保不管任何型的变量总是有一合理有效的零值状态
也可以在一個聲明語句中同時聲明一組變量,或用一初始化表達式聲明併初始化一組變量。如果省略每個變量的型,可以明多個類型不同的量(型由初始化表式推
也可以在一个声明语句中同时声明一组变量,或用一初始化表达式声明并初始化一组变量。如果省略每个变量的型,可以明多个类型不同的量(型由初始化表式推
```Go
var i, j, k int // int, int, int
var b, f, s = true, 2.3, "four" // bool, float64, string
```
初始化表式可以是字面量或任意的表式。在包級别聲明的變量會在main入口函數執行前完成初始化§2.6.2),局部變量將在聲明語句被行到的候完成初始化。
初始化表式可以是字面量或任意的表式。在包级别声明的变量会在main入口函数执行前完成初始化§2.6.2),局部变量将在声明语句被行到的候完成初始化。
組變量也可以通過調用一個函數,由函數返迴的多個返迴值初始化:
组变量也可以通过调用一个函数,由函数返回的多个返回值初始化:
```Go
var f, err = os.Open(name) // os.Open returns a file and an error