mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 23:08:34 +08:00
精校:1.2
This commit is contained in:
@@ -64,7 +64,7 @@ Go 语言有一套完整的编码规范,你可以在 [Go 语言编码规范](h
|
||||
|
||||
它不像 Ruby 那样通过实现过程来定义编码规范。作为一门具有明确编码规范的语言,它要求可以采用不同的编译器如 gc 和 gccgo(第 2.1 节)进行编译工作,这对语言本身拥有更好的编码规范起到很大帮助。
|
||||
|
||||
[LALR](http://en.wikipedia.org/wiki/LALR_parser) 是 Go 语言的语法标准,你也可以在 `src/cmd/gc/go.y` 中查看到,这种语法标准在编译时不需要符号表来协助解析。
|
||||
[LALR](http://en.wikipedia.org/wiki/LALR_parser) 是 Go 语言的语法标准,你也可以在 [`src/cmd/internal/gc/go.y`](https://github.com/golang/go/blob/master/src%2Fcmd%2Finternal%2Fgc%2Fgo.y) 中查看到,这种语法标准在编译时不需要符号表来协助解析。
|
||||
|
||||
## 1.2.5 语言的特性
|
||||
|
||||
@@ -96,30 +96,30 @@ Go 语言一个非常好的目标就是实现所谓的复杂事件处理([CEP]
|
||||
|
||||
越来越多的谷歌内部的大型分布式应用程序都开始使用 Go 语言来开发,例如谷歌地球的一部分代码就是由 Go 语言完成的。
|
||||
|
||||
如果你想知道一些其它组织使用Go语言开发的实际应用项目,你可以到这个页面进行查看:[http://go-lang.cat-v.org/organizations-using-go](http://go-lang.cat-v.org/organizations-using-go)。出于隐私保护的考虑,许多公司的项目都没有展示在这个页面。我们将会在第 21 章讨论到一个使用 Go 语言开发的大型存储区域网络(SAN)案例。
|
||||
如果你想知道一些其它组织使用Go语言开发的实际应用项目,你可以到 [使用 Go 的组织](http://go-lang.cat-v.org/organizations-using-go) 页面进行查看。出于隐私保护的考虑,许多公司的项目都没有展示在这个页面。我们将会在第 21 章讨论到一个使用 Go 语言开发的大型存储区域网络(SAN)案例。
|
||||
|
||||
在 Chrome 浏览器中内置了一款 Go 语言的编译器用于本地客户端(NaCl),这很可能会被用于在 Chrome OS 中执行 Go 语言开发的应用程序。
|
||||
|
||||
Go 语言可以在 Intel 或 ARM 处理器上运行,因此它也可以在安卓系统下运行,例如 Nexus 系列的产品。
|
||||
|
||||
在 Google App Engine 中使用 Go 语言:2011 年 5 月 5 日,官方发布了用于开发运行在 Google App Engine 上的 Web 应用的 Go SDK,在此之前,开发者们只能选择使用 Python 或者 Java。这主要是 David Symonds 和 Nigel Tao 努力的成果。目前最新的稳定版是基于 r60.3 的SDK 1.6.1,于 2011 年 12 月 13 日发布。当前 Go 语言的稳定版本是 Go 1( ***译者注:目前最新的稳定版是Go1.2.1*** )。
|
||||
在 Google App Engine 中使用 Go 语言:2011 年 5 月 5 日,官方发布了用于开发运行在 Google App Engine 上的 Web 应用的 Go SDK,在此之前,开发者们只能选择使用 Python 或者 Java。这主要是 David Symonds 和 Nigel Tao 努力的成果。目前最新的稳定版是基于 Go 1.4 的 SDK 1.9.18,于 2015 年 2 月 18 日发布。当前 Go 语言的稳定版本是 Go 1.4.2。
|
||||
|
||||
## 1.2.7 关于特性丢失
|
||||
## 1.2.7 关于特性缺失
|
||||
|
||||
许多能够在大多数面向对象语言中使用的特性 Go 语言都没有支持,但其中的一部分可能会在未来被支持。
|
||||
|
||||
- 为了简化设计,不支持函数重载和操作符重载
|
||||
- 为了避免在 C/C++ 开发中的一些 Bug 和混乱,不支持隐式转换
|
||||
- Go 语言通过另一种途径实现面向对象设计(第 10 - 11 章)来放弃类和类型的继承
|
||||
- Go 语言通过另一种途径实现面向对象设计(第 10-11 章)来放弃类和类型的继承
|
||||
- 尽管在接口的使用方面(第 11 章)可以实现类似变体类型的功能,但本身不支持变体类型
|
||||
- 不支持动态加载代码
|
||||
- 不支持动态链接库
|
||||
- 不支持泛型
|
||||
- 通过 `recover` 和 `panic` 来替代异常机制(第 13.2 - 3 节)
|
||||
- 通过 `recover` 和 `panic` 来替代异常机制(第 13.2-3 节)
|
||||
- 不支持断言
|
||||
- 不支持静态变量
|
||||
|
||||
关于 Go 语言开发团队对于这些方面的讨论,你可以通过这个页面查看:[http://golang.org/doc/go_faq.html](http://golang.org/doc/go_faq.html)
|
||||
关于 Go 语言开发团队对于这些方面的讨论,你可以通过 [Go 常见问题](http://golang.org/doc/go_faq.html) 页面查看。
|
||||
|
||||
## 1.2.8 使用 Go 语言编程
|
||||
|
||||
|
Reference in New Issue
Block a user