Procházet zdrojové kódy

fix some format and character issue.

Zhanming Qi před 13 roky
rodič
revize
c3d3724ecd

+ 24 - 9
eBook/04.2.md

@@ -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_,同样适用于const,var 和 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,12 +272,13 @@ Example 4.4 [gotemplate.go](examples/chapter_4/gotemplate.go)
     func Func1() { // exported function Func1
         //...
     }
+
 Go 程序的执行(程序启动)顺序如下:
 
-(1)在 package main 中的包全部导入,按标明的顺序:
-(2)如果导入包,(1)被这个包调用(递归),但是一个确定的包只会被导入一次
-(3)然后每一个包(以相反的顺序)中所有的常量和变量都被评估,如果它包含这个函数,将执行 init() 方法。
-(4)最后在 package main 中也一样,然后 main() 函数开始执行。
+(1)在 package main 中的包全部导入,按标明的顺序:  
+(2)如果导入包,(1)被这个包调用(递归),但是一个确定的包只会被导入一次  
+(3)然后每一个包(以相反的顺序)中所有的常量和变量都被评估,如果它包含这个函数,将执行 init() 方法。  
+(4)最后在 package main 中也一样,然后 main() 函数开始执行。  
 
 ##4.2.6 转型
 
@@ -274,6 +288,7 @@ Go 程序的执行(程序启动)顺序如下:
     类型B的值 = 类型B(类型A的值)
 
 例子: 
+
     a := 5.0
     b := int(a)
 

+ 2 - 2
eBook/examples/chapter_4/alias.go

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

+ 2 - 2
eBook/examples/chapter_4/hello_world2.go

@@ -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")
 }