diff --git a/eBook/03.8.md b/eBook/03.8.md index a37ed51..fbed0d1 100644 --- a/eBook/03.8.md +++ b/eBook/03.8.md @@ -1,6 +1,6 @@ # 3.8 Go 性能说明 -根据 Go 开发团队和基本的算法测试,Go 的性能大概在 C 语言的 10%~20% 之间( **译者注:由于出版时间限制,该数据应为 2013 年 3 月 28 日之前产生** )。虽然没有官方的性能标准,但是与其它各个语言相比已经拥有非常出色的表现。 +根据 Go 开发团队和基本的算法测试,Go 语言与 C 语言的性能差距大概在 10%~20% 之间( **译者注:由于出版时间限制,该数据应为 2013 年 3 月 28 日之前产生** )。虽然没有官方的性能标准,但是与其它各个语言相比已经拥有非常出色的表现。 如果说 Go 语言的执行效率大约比 C++ 慢 20% 也许更有实际意义。保守估计在相同的环境和执行目标的情况下,Go 程序比 Java 或 Scala 应用程序要快上 2 倍,并比这两门语言使用少占用 70% 的内存。在很多情况下这种比较是没有意义的,因为像谷歌这样拥有成千上万台服务器的公司都抛弃 C++ 而开始将 Go 用于生产环境已经足够说明它本身所具有的优势。 @@ -29,4 +29,4 @@ - [目录](directory.md) - 上一节:[其它工具](03.7.md) -- 下一节:[与其它语言进行交互](03.9.md) \ No newline at end of file +- 下一节:[与其它语言进行交互](03.9.md) diff --git a/eBook/04.9.md b/eBook/04.9.md index a9db517..bda2fc8 100644 --- a/eBook/04.9.md +++ b/eBook/04.9.md @@ -11,7 +11,7 @@ Go 语言的取地址符是 `&`,放到一个变量前使用就会返回相应 下面的代码片段(Example 4.9 [pointer.go](examples/chapter_4/pointer.go))可能输出 `An integer: 5, its location in memory: 0x6b0820`(这个值随着你每次运行程序而变化)。 var i1 = 5 - fmt.Printf(“An integer: %d, it’s location in memory: %p\n”, i1, &i1) + fmt.Printf("An integer: %d, it's location in memory: %p\n", i1, &i1) 这个地址可以存储在一个叫做指针的特殊数据类型中,在本例中这是一个指向 int 的指针,即 `i1`:此处使用 *int 表示。如果我们想调用指针 intP,我们可以这样声明它: @@ -127,4 +127,4 @@ Example 4.23 [testcrash.go](examples/chapter_4/testcrash.go): - [目录](directory.md) - 上一节:[时间和日期](04.8.md) -- 下一节:[控制结构](05.0.md) \ No newline at end of file +- 下一节:[控制结构](05.0.md) diff --git a/eBook/05.1.md b/eBook/05.1.md index 36e5e15..5ac70db 100644 --- a/eBook/05.1.md +++ b/eBook/05.1.md @@ -28,7 +28,7 @@ else-if 分支的数量是没有限制的,但是为了代码的可读性,还 即使当代码块之间只有一条语句时,大括号也不可被省略(尽管有些人并不赞成,但这还是符合了软件工程原则的主流做法)。 -关键字 if 和 else 之后的左大括号 `{` 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。 +关键字 if 和 else 之后的左大括号 `{` 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 `}` 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。 非法的Go代码: @@ -46,13 +46,13 @@ else-if 分支的数量是没有限制的,但是为了代码的可读性,还 Example 5.1 [booleans.go](examples/chapter_5/booleans.go) package main - import “fmt” + import "fmt" func main() { bool1 := true if bool1 { - fmt.Printf(“The value is true\n”) + fmt.Printf("The value is true\n") } else { - fmt.Printf(“The value is false\n”) + fmt.Printf("The value is false\n") } }