fix some format and character issue.

This commit is contained in:
Zhanming Qi
2013-04-15 19:59:13 +08:00
parent 8e47a7e906
commit c3d3724ecd
3 changed files with 28 additions and 13 deletions

View File

@@ -2,12 +2,13 @@
***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明***
Example 4.1 [hello_world.go](examples/chapter_4/hello_world.go)
package main
import "fmt"
func main() {
fmt.Println(hello, world)
fmt.Println("hello, world")
}
##4.2.1 包,导入和可见性
@@ -51,16 +52,21 @@ _每一段代码只会被编译一次_
___import “fmt”___ 告诉 Go 编译器,这个程序需要使用 fmt 包的函数或其他元素fmt 包实现了格式化 IO输入/输出)的函数。包名封闭在 `""` 中。从已编译的包中导入并加载公开声明方法,不用插入已编译包的源代码。
如果需要多个包,他们可以使用分隔声明,一个个的导入:
import “fmt”
import “os”
或:
import “fmt”; import “os”
但是更短并且更优雅的方法称为_factoring the keyword_同样适用于constvar 和 type也是有的
import (
"fmt"
"os"
)
(它还可以更短:`import ("fmt", "os")`但是对于分发版本gofmt后会强制换行
当需要导入多个包时,它会按字母顺序排列包名。
@@ -91,11 +97,12 @@ ___pack1.Thing 和 pack2.Thing___
一个包可以,也是有用的(为了更简短,名称冲突,...),也可以给予另一个名称(别名),如:`import fm "fmt"`。下面的代码使用了别名:
Example 4.2 [alias.go](examples/chapter_4/alias.go)
package main
import fm fmt // alias3
import fm "fmt" // alias3
func main() {
fm.Println(hello, world)
fm.Println("hello, world")
}
_提醒_:导入一个包,但是没有在代码中使用会导致一个构建错误(例如:导入但补使用的: os 包)。这遵循 Go 的格言:“没有不必要的代码!“
@@ -153,10 +160,11 @@ Print 和 Println 方法也支持变量fmt.Println(arr);他们使用
##4.2.3 注释
Example 4.2 [hello_world2.go](examples/chapter_4/hello_world2.go)
package main
import fmt // Package implementing formatted I/O.
import "fmt" // Package implementing formatted I/O.
func main() {
fmt.Printf(Καλημέρα κόσμε; or こんにちは 世界\n)
fmt.Printf("Καλημέρα κόσμε; or こんにちは 世界\n")
}
这说明了国际化字符 Καλημέρακόσμε; or こんにちは世界,可以打印,也可以用作注释使用。
@@ -168,6 +176,7 @@ Example 4.2 [hello_world2.go](examples/chapter_4/hello_world2.go)
每个包应该有包注释,注释块紧接 package 语句,介绍这个包并且提供相关信息,作整体功能介绍。一个包可以分散在多个文件中,但是注释只需要写在其中一个。当一个开发人员需要包的信息,使用 godoc这些注释将被显示。其后的句子和段落可以给出更多的细节。注释句子应适当的空行。
例子:
// Package superman implements methods for saving the world.
//
// Experience has shown that a small number of procedures can prove
@@ -177,6 +186,7 @@ Example 4.2 [hello_world2.go](examples/chapter_4/hello_world2.go)
几乎每一个顶层的类型,常数,变量,函数和每一个导出名都应该有注释。此注释(称为文档注释)出现在函数前面,如函数 Abcd 以“Abcd...”开始。
例子:
// enterOrbit causes Superman to fly into low Earth orbit, a position
// that presents several possibilities for planet salvation.
func enterOrbit() error {
@@ -218,11 +228,13 @@ godoc-tool (参见 §3.6) 收集这些注释并产生一个技术文档。
我们说 a 是 int 的基本类型,这使转型成为可能(参见 § 4.2.6)。
如果你有多个类型需要定义,可以使用多关键字形式,如:
type (
IZ int
FZ float
STR string
)
每个值经过编译后必须有类型(编译器必须能够推断出所有值的类型):
Go 语言是一种静态类型语言.
@@ -238,6 +250,7 @@ Go 语言是一种静态类型语言.
- 然后是剩下的函数,首先是类型的方法,或是 main() 函数中先后顺序调用的函数;或方法和功能,按字母顺序的方法和函数排序很高的。
Example 4.4 [gotemplate.go](examples/chapter_4/gotemplate.go)
package main
import (
“fmt”
@@ -259,6 +272,7 @@ Example 4.4 [gotemplate.go](examples/chapter_4/gotemplate.go)
func Func1() { // exported function Func1
//...
}
Go 程序的执行(程序启动)顺序如下:
1在 package main 中的包全部导入,按标明的顺序:
@@ -274,6 +288,7 @@ Go 程序的执行(程序启动)顺序如下:
类型B的值 = 类型B(类型A的值)
例子:
a := 5.0
b := int(a)

View File

@@ -1,6 +1,6 @@
package main
import fm fmt // alias3
import fm "fmt" // alias3
func main() {
fm.Println(hello, world)
fm.Println("hello, world")
}

View File

@@ -1,8 +1,8 @@
package main
import fmt // Package implementing formatted I/O.
import "fmt" // Package implementing formatted I/O.
func main() {
fmt.Printf(Καλημέρα κόσμε; or こんにちは 世界\n)
fmt.Printf("Καλημέρα κόσμε; or こんにちは 世界\n")
}