修正翻译错误

This commit is contained in:
custa
2016-08-07 21:59:29 +08:00
parent f518429950
commit 22f1a8a202
8 changed files with 8 additions and 11 deletions

View File

@@ -27,7 +27,7 @@ continue for import return var
panic recover
```
这些内部预先定义的名字并不是关键字,你可以定义中重新使用它们。在一些特殊的场景中重新定义它们也是有意义的,但是也要注意避免过度而引起语义混乱。
这些内部预先定义的名字并不是关键字,你可以定义中重新使用它们。在一些特殊的场景中重新定义它们也是有意义的,但是也要注意避免过度而引起语义混乱。
如果一个名字是在函数内部定义那么它的就只在函数内部有效。如果是在函数外部定义那么将在当前包的所有文件中都可以访问。名字的开头字母的大小写决定了名字在包外的可见性。如果一个名字是大写字母开头的译注必须是在函数外部定义的包级名字包级函数名本身也是包级名字那么它将是导出的也就是说可以被外部的包访问例如fmt包的Printf函数就是导出的可以在fmt包外部访问。包本身的名字一般总是用小写字母。

View File

@@ -18,7 +18,7 @@ fmt.Println(x) // "2"
变量有时候被称为可寻址的值。即使变量由表达式临时生成,那么表达式也必须能接受`&`取地址操作。
任何类型的指针的零值都是nil。如果`p != nil`测试为真那么p是指向某个有效变量。指针之间也是可以进行相等测试的只有当它们指向同一个变量或全部是nil时才相等。
任何类型的指针的零值都是nil。如果p指向某个有效变量那么`p != nil`测试为真。指针之间也是可以进行相等测试的只有当它们指向同一个变量或全部是nil时才相等。
```Go
var x, y int

View File

@@ -6,7 +6,7 @@ var声明语句可以创建一个特定类型的变量然后给变量附加
var 变量名字 类型 = 表达式
```
其中“*类型*”或“*= 表达式*”两个部分可以省略其中的一个。如果省略的是类型信息,那么将根据初始化表达式来推导变量的类型信息。如果初始化表达式被省略,那么将用零值初始化该变量。 数值类型变量对应的零值是0布尔类型变量对应的零值是false字符串类型对应的零值是空字符串接口或引用类型包括slice、map、chan和函数变量对应的零值是nil。数组或结构体等聚合类型对应的零值是每个元素或字段都是对应该类型的零值。
其中“*类型*”或“*= 表达式*”两个部分可以省略其中的一个。如果省略的是类型信息,那么将根据初始化表达式来推导变量的类型信息。如果初始化表达式被省略,那么将用零值初始化该变量。 数值类型变量对应的零值是0布尔类型变量对应的零值是false字符串类型对应的零值是空字符串接口或引用类型包括slice、指针、map、chan和函数变量对应的零值是nil。数组或结构体等聚合类型对应的零值是每个元素或字段都是对应该类型的零值。
零值初始化机制可以确保每个声明的变量总是有一个良好定义的值因此在Go语言中不存在未初始化的变量。这个特性可以简化很多代码而且可以在没有增加额外工作的前提下确保边界条件下的合理行为。例如
@@ -39,6 +39,3 @@ var f, err = os.Open(name) // os.Open returns a file and an error
{% include "./ch2-03-3.md" %}
{% include "./ch2-03-4.md" %}

View File

@@ -8,7 +8,7 @@ Go语言中的包和其他语言的库或模块的概念类似目的都是为
为了演示包基本的用法先假设我们的温度转换软件已经很流行我们希望到Go语言社区也能使用这个包。我们该如何做呢
让我们创建一个名为gopl.io/ch2/tempconv的包这是前面例子的一个改进版本。我们约定我们的例子都是以章节顺序来编号的,这样的路径更容易阅读)包代码存储在两个源文件中,用来演示如何在一个源文件声明然后在其他的源文件访问;虽然在现实中,这样小的包一般只需要一个文件。
让我们创建一个名为gopl.io/ch2/tempconv的包这是前面例子的一个改进版本。这里我们没有按照惯例按顺序对例子进行编号,因此包路径看起来更像一个真实的包)包代码存储在两个源文件中,用来演示如何在一个源文件声明然后在其他的源文件访问;虽然在现实中,这样小的包一般只需要一个文件。
我们把变量的声明、对应的常量还有方法都放到tempconv.go源文件中