diff --git a/README.md b/README.md index 545e24f..d7910b7 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ## 翻译进度 -2.1 [平台与架构](eBook/02.1.md) +2.8 [Go 解释器](eBook/02.8.md) ## 支持本书 diff --git a/eBook/02.1.md b/eBook/02.1.md index 48091f1..6efd571 100644 --- a/eBook/02.1.md +++ b/eBook/02.1.md @@ -1,5 +1,4 @@ -#2.1 平台与架构 -( ***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明*** ) +# 2.1 平台与架构 Go 语言开发团队开发了适用于以下操作系统的编译器: @@ -39,7 +38,7 @@ Go 语言开发团队开发了适用于以下操作系统的编译器: (相关的 C 编译器名称为 6c、8c 和 5c,相关的汇编器名称为 6a、8a 和 5a) - **标记(Flags)**是指可以通过命令行设置可选参数来影响编译器或链接器的构建过程或得到一个特殊的目标结果。 + **标记(Flags)** 是指可以通过命令行设置可选参数来影响编译器或链接器的构建过程或得到一个特殊的目标结果。 可用的编译器标记如下: @@ -76,9 +75,10 @@ Go 语言开发团队开发了适用于以下操作系统的编译器: Go 语言的标准库(第9.1节)包文件在被安装后就是使用这种格式的文件。 - **注意:**当你在创建目录时,文件夹名称永远不应该包含空格,而应该使用下划线"_"或者其它一般符号代替。 + **注意:** 当你在创建目录时,文件夹名称永远不应该包含空格,而应该使用下划线 "_" 或者其它一般符号代替。 + +## 链接 -##链接 - [目录](directory.md) - 上一章:[语言的主要特性与发展的环境和影响因素](01.2.md) - 下一节:[Go 环境变量](02.2.md) diff --git a/eBook/02.2.md b/eBook/02.2.md index 86b584c..164bd6e 100644 --- a/eBook/02.2.md +++ b/eBook/02.2.md @@ -1,5 +1,4 @@ -#2.2 Go 环境变量 -( ***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明*** ) +# 2.2 Go 环境变量 Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之间就已经设置好他们。如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 `c:/go` 下。这里列举几个最为重要的环境变量: @@ -20,7 +19,8 @@ Go 编译器支持交叉编译,也就是说你可以在一台机器上构建 在接下来的章节中,我们将会讨论如何在 Linux,Mac OS X 和 Windows 上安装 Go 语言。在 FreeBSD 上的安装和 Linux 非常类似。开发团队正在尝试将 Go 语言移植到其它例如 OpenBSD,DragonFlyBSD,NetBSD,Plan 9,Haiku 和 Solaris 操作系统上,你可以在这个页面找到最近的动态:[http://go-lang.cat-v.org/os-ports](http://go-lang.cat-v.org/os-ports) -##链接 +## 链接 + - [目录](directory.md) - 上一节:[平台与架构](02.1.md) - 下一节:[在 Linux 上安装 Go](02.3.md) \ No newline at end of file diff --git a/eBook/02.3.md b/eBook/02.3.md index 14eec9b..5ed95d1 100644 --- a/eBook/02.3.md +++ b/eBook/02.3.md @@ -1,5 +1,4 @@ -#2.3 在 Linux 上安装 Go -( ***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明*** ) +# 2.3 在 Linux 上安装 Go 如果你能够自己下载并编译 Go 的源代码来说是非常有教育意义的,你可以根据这个页面找到安装指南和下载地址:[http://golang.org/doc/install.html](http://golang.org/doc/install.html)。 @@ -14,7 +13,7 @@ export GOARCH=386 export GOOS=linux - ( ***译者注:目前的 Go 版本一般情况下已不需要设置$GOBIN*** ) + ( **译者注:目前的 Go 版本一般情况下已不需要设置 $GOBIN** ) 为了确保相关文件在文件系统的任何地方都能被调用,你还需要添加以下内容: @@ -146,7 +145,8 @@ 当你在使用不同的版本时,注意官方博客发布的信息,因为你所查阅的文档可能和你正在使用的版本不相符。 -##链接 +## 链接 + - [目录](directory.md) - 上一节:[Go 环境变量](02.2.md) - 下一节:[在 Mac OS X 上安装 Go](02.4.md) diff --git a/eBook/02.4.md b/eBook/02.4.md index aa0e7e3..f130141 100644 --- a/eBook/02.4.md +++ b/eBook/02.4.md @@ -1,5 +1,4 @@ -#2.4 在 Mac OS X 上安装 Go -( ***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明*** ) +# 2.4 在 Mac OS X 上安装 Go 如果你想要在你的 Mac 系统上安装 Go,则必须使用 Intel 64 位处理器,Go 不支持 PowerPC 处理器。 @@ -13,7 +12,8 @@ 通过源代码编译安装的过程与环境变量的配置与在 Linux 系统非常相似,因此不再赘述。 -##链接 +## 链接 + - [目录](directory.md) - 上一节:[在 Linux 上安装 Go](02.3.md) - 下一节:[在 Windows 上安装 Go](02.5.md) diff --git a/eBook/02.5.md b/eBook/02.5.md index 35efcdf..082f3f8 100644 --- a/eBook/02.5.md +++ b/eBook/02.5.md @@ -1,5 +1,4 @@ -#2.5 在 Windows 上安装 Go -( ***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明*** ) +# 2.5 在 Windows 上安装 Go 你可以在这个页面下载到 Windows 系统下的一键安装包:[http://code.google.com/p/go/downloads/list](http://code.google.com/p/go/downloads/list) @@ -17,7 +16,7 @@ 如果你想要在 Windows 下的虚拟机里的 Linux 系统上安装 Go,你可以选择使用虚拟机软件 [VMware](http://www.vmware.com),下载 [VMware player](http://www.vmware.com/products/player/),搜索并下载一个你喜欢的 Linux 发行版镜像,然后安装到虚拟机里,安装 Go 的流程参考第 2.3 节中的内容。 -##链接 +## 链接 - [目录](directory.md) - 上一节:[在 Mac OS X 上安装 Go](02.4.md) - 下一节:[安装目录清单](02.6.md) \ No newline at end of file diff --git a/eBook/02.6.md b/eBook/02.6.md index 21e74cb..4d6f128 100644 --- a/eBook/02.6.md +++ b/eBook/02.6.md @@ -1,4 +1,5 @@ -#2.6 安装目录清单 +# 2.6 安装目录清单 + 你的 Go 安装目录(`$GOROOT`)的文件夹结构应该如下所示: README, AUTHORS, CONTRIBUTORS, LICENSE @@ -14,7 +15,8 @@ README, AUTHORS, CONTRIBUTORS, LICENSE - `\src\lib9` `\src\libbio` `\src\libmach` 包含 C 文件 - `\src\pkg` 包含 Go 标准库的包的完整源代码(Go 是一门开源语言) -##链接 +## 链接 + - [目录](directory.md) - 上一节:[在 Windows 上安装 Go](02.5.md) - 下一节:[Go 类虚拟机(runtime)](02.7.md) \ No newline at end of file diff --git a/eBook/02.7.md b/eBook/02.7.md index 6588476..b7f8dda 100644 --- a/eBook/02.7.md +++ b/eBook/02.7.md @@ -1,5 +1,6 @@ -#2.7 Go 类虚拟机(runtime) -尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第10.8节)、栈处理、goroutine、channel、切片(slice)、map 和反射(reflection)等等。 +# 2.7 Go runtime + +尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第 10.8 节)、栈处理、goroutine、channel、切片(slice)、map 和反射(reflection)等等。 runtime 主要由 C 语言编写,并且是每个 Go 包的最顶级包。你可以在目录 `$GOROOT/src/pkg/runtime/` 中找到相关内容(主要看 mgc0.c 和其它以 m 开头的文件)。 @@ -7,7 +8,8 @@ runtime 主要由 C 语言编写,并且是每个 Go 包的最顶级包。你 Go 的可执行文件都比相对应的源代码文件要大很多,这恰恰说明了 Go 的 runtime 嵌入到了每一个可执行文件当中。当然,在部署到数量巨大的集群时,较大的文件体积也是比较头疼的问题。但总得来说,Go 的部署工作还是要比 Java 和 Python 轻松得多。因为 Go 不需要依赖任何其它文件,它只需要一个单独的静态文件,这样你也不会像使用其它语言一样在各种不同版本的依赖文件之间混淆。 -##链接 +## 链接 + - [目录](directory.md) - 上一节:[安装目录清单](02.6.md) - 下一节:[Go 解释器](02.8.md) \ No newline at end of file diff --git a/eBook/02.8.md b/eBook/02.8.md index eed46fa..ce3c36f 100644 --- a/eBook/02.8.md +++ b/eBook/02.8.md @@ -1,7 +1,9 @@ -#2.8 Go 解释器 +# 2.8 Go 解释器 + 因为 Go 具有像动态语言那样快速编译的能力,自然而然地就有人会问 Go 语言能否在 REPL(real-eval-print lopp)编程环境下实现。Sebastien Binet 已经使用这种环境实现了一个 Go 解释器,你可以在这个页面找到:[https://bitbucket.org/binet/igo](https://bitbucket.org/binet/igo) -##链接 +## 链接 + - [目录](directory.md) - 上一节:[Go 类虚拟机(runtime)](02.7.md) - 下一章:[编辑器、集成开发环境与其它工具](03.0.md) \ No newline at end of file