mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 23:08:34 +08:00
02.1.md
This commit is contained in:
@@ -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 平台与架构
|
#2.1 平台与架构
|
||||||
( ***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明*** )
|
( ***译者注:由于 Go 语言版本更替,本节中的相关内容经原作者同意将被直接替换而不作另外说明*** )
|
||||||
|
|
||||||
@@ -58,18 +44,41 @@ Go 语言开发团队开发了适用于以下操作系统的编译器:
|
|||||||
可用的编译器标记如下:
|
可用的编译器标记如下:
|
||||||
|
|
||||||
flags:
|
flags:
|
||||||
-I DIR search for packages in DIR
|
-I 针对包的目录搜索
|
||||||
-d print declarations
|
-d 打印声明信息
|
||||||
-e no limit on number of errors printed
|
-e 不限制错误打印的个数
|
||||||
-f print stack frame structure
|
-f 打印栈结构
|
||||||
-h panic on an error
|
-h 发生错误时进入恐慌(panic)状态
|
||||||
-o file specify output file // see § 3.4
|
-o 指定输出文件名 // 详见第3.4节
|
||||||
-S print the generated assembly code
|
-S 打印产生的汇编代码
|
||||||
-V print the compiler version // see § 2.3 (7)
|
-V 打印编译器版本 // 详见第2.3节
|
||||||
-u disable package unsafe
|
-u 禁止使用 unsafe 包中的代码
|
||||||
-w print the parse tree after typing
|
-w 打印归类后的语法解析树
|
||||||
-x print lex tokens
|
-x 打印 lex tokens
|
||||||
|
|
||||||
在 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 `go build` 和 `go install` 等命令,而这些指令会自动调用相关的编译器或链接器。
|
从 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 `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
15
eBook/02.2.md
Normal 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 环境变量
|
@@ -7,6 +7,7 @@
|
|||||||
- 1.2 [语言的主要特性与发展的环境和影响因素](01.2.md)
|
- 1.2 [语言的主要特性与发展的环境和影响因素](01.2.md)
|
||||||
- 第2章:安装与运行环境
|
- 第2章:安装与运行环境
|
||||||
- 2.1 [平台与架构](02.1.md)
|
- 2.1 [平台与架构](02.1.md)
|
||||||
|
- 2.2 [Go 环境变量](02.2.md)
|
||||||
- 第3章:编辑器、集成开发环境与其它工具
|
- 第3章:编辑器、集成开发环境与其它工具
|
||||||
|
|
||||||
##第二部分:语言的核心结构与技术
|
##第二部分:语言的核心结构与技术
|
||||||
|
Reference in New Issue
Block a user