This commit is contained in:
Unknown
2013-04-10 03:21:01 -04:00
parent e29928af3d
commit fd96ca9b11
3 changed files with 52 additions and 27 deletions

View File

@@ -1,17 +1,3 @@
##啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
要不等到 ***2013 年 4 月 11 日*** 再来看看吧~~
这里还有一些其它的学习资源噢~
- [《Go编程基础》](https://github.com/Unknwon/go-fundamental-programming):已更新至 [第六课](https://github.com/Unknwon/go-fundamental-programming/blob/master/lecture6/lecture6.md)
- [《Go Web编程》](https://github.com/astaxie/build-web-application-with-golang)
神马?你说你不想学习?那好吧,去逛逛论坛看看行情也行~
- [Golang中文社区](http://bbs.mygolang.com/forum.php)
- [Go语言学习园地](http://studygolang.com/)
- [Golang中国](http://golang.tc)
#2.1 平台与架构
***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明***
@@ -58,18 +44,41 @@ Go 语言开发团队开发了适用于以下操作系统的编译器:
可用的编译器标记如下:
flags:
-I DIR search for packages in DIR
-d print declarations
-e no limit on number of errors printed
-f print stack frame structure
-h panic on an error
-o file specify output file // see § 3.4
-S print the generated assembly code
-V print the compiler version // see § 2.3 (7)
-u disable package unsafe
-w print the parse tree after typing
-x print lex tokens
-I 针对包的目录搜索
-d 打印声明信息
-e 不限制错误打印的个数
-f 打印栈结构
-h 发生错误时进入恐慌panic状态
-o 指定输出文件名 // 详见第3.4
-S 打印产生的汇编代码
-V 打印编译器版本 // 详见第2.3节
-u 禁止使用 unsafe 包中的代码
-w 打印归类后的语法解析树
-x 打印 lex tokens
Go 1.0.3 版本开始,不再使用 8g8l 之类的指令进行程序的构建,取而代之的是统一的 `go build``go install` 等命令,而这些指令会自动调用相关的编译器或链接器。
Go 1.0.3 版本开始,不再使用 8g8l 之类的指令进行程序的构建,取而代之的是统一的 `go build``go install` 等命令,而这些指令会自动调用相关的编译器或链接器。
2. 的
更深层次的信息:你可以在目录 `$GOROOT/src/cmd` 下找到编译器和链接器的源代码。Go 语言本身是由 C 语言开发的,而不是 Go 语言。词法分析程序是 GNU bison语法分析程序是名为 `$GOROOT/src/cmd/gc/go.y` 的 yacc 文件,它会在同一目录输出 `y.tab.{c,h}` 文件。如果你想知道更多有关构建过程的信息,你可以查看相同目录下的 Makefile 文件,另一个构建过程的概述可以在 `$GOROOT/src/make.bash` 中找到。
大部分的目录都包含了名为 `doc.go` 的文件,这个文件提供了更多详细的信息。
2. gccgo 编译器:
一款相对于 gc 而言更加传统的编译器,使用 GCC 作为后端。GCC 是一款非常流行的 GNU 编译器,它能够构建基于众多处理器架构的应用程序。编译速度相对 gc 较慢,但产生的本地代码运行要稍微快一点。它同时也提供一些与 C 语言之间的互操作性。
从 Go 1 版本开始gc 和 gccgo 在编译方面都有等价的功能。
3. 文件扩展名与包package
Go 语言源文件的扩展名很显然就是 `.go`
C 文件使用后缀名 `.c`,汇编文件使用后缀名 `.s`。所有的源代码文件都是通过包packages来组织。包含可执行代码的包文件在被压缩后使用扩展名 `.a`AR 文档)。
Go 语言的标准库第9.1节)包文件在被安装后就是使用这种格式的文件。
**注意:**当你在创建目录时,文件夹名称永远不应该包含空格,而应该使用下划线"_"或者其它一般符号代替。
##链接
- [目录](directory.md)
- 上一章:[语言的主要特性与发展的环境和影响因素](01.2.md)
- 下一节: [Go 环境变量](02.2.md)

15
eBook/02.2.md Normal file
View File

@@ -0,0 +1,15 @@
##啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
要不等到 ***2013 年 4 月 11 日*** 再来看看吧~~
这里还有一些其它的学习资源噢~
- [《Go编程基础》](https://github.com/Unknwon/go-fundamental-programming):已更新至 [第六课](https://github.com/Unknwon/go-fundamental-programming/blob/master/lecture6/lecture6.md)
- [《Go Web编程》](https://github.com/astaxie/build-web-application-with-golang)
神马?你说你不想学习?那好吧,去逛逛论坛看看行情也行~
- [Golang中文社区](http://bbs.mygolang.com/forum.php)
- [Go语言学习园地](http://studygolang.com/)
- [Golang中国](http://golang.tc)
#2.2 Go 环境变量

View File

@@ -7,6 +7,7 @@
- 1.2 [语言的主要特性与发展的环境和影响因素](01.2.md)
- 第2章安装与运行环境
- 2.1 [平台与架构](02.1.md)
- 2.2 [Go 环境变量](02.2.md)
- 第3章编辑器、集成开发环境与其它工具
##第二部分:语言的核心结构与技术