This commit is contained in:
Unknown
2013-04-09 18:24:12 -04:00
parent 8f6982b83e
commit 215d5f4b21
3 changed files with 61 additions and 3 deletions

View File

@@ -8,7 +8,7 @@
该翻译版本已获得原作者(Ivo Balbaert)本人授权,并表示支持开源事业的发展!
##翻译进度
[起源与发展](./eBook/01.1.md)
[语言的主要特性与发展的环境和影响因素](eBook/01.2.md)
##支持本书
如果你喜欢本书《Go入门指南》你可以参与到本书的翻译或纠正工作中来一同完善本书并帮助壮大Go语言在国内的学习群体给大家提供更好的学习资源。

View File

@@ -76,7 +76,7 @@ Go语言使用静态类型所以它是类型安全的一门语言加上通
Go语言其实也有一些动态语言的特性通过关键字 `var`所以它对那些逃离Java和.Net世界而使用PythonRubyPhp和JavaScript的开发者们也具有很大的吸引力。
Go语言支持交叉编译比如说你可以在运行Linux系统的计算机上开发运行下Windows下运行的应用程序。这是第一门支持UTF-8的编程语言 ***译者注:.NET好像也支持吧*** ),这不仅体现在它可以处理使用UTF-8编码的字符串就连它的源码文件格式都是使用的UTF-8编码。Go语言做到了真正的国际化
Go语言支持交叉编译比如说你可以在运行Linux系统的计算机上开发运行下Windows下运行的应用程序。这是第一门完全支持UTF-8的编程语言 ***译者注:.NET好像也支持吧*** 这不仅体现在它可以处理使用UTF-8编码的字符串就连它的源码文件格式都是使用的UTF-8编码。Go语言做到了真正的国际化
##啊哦,亲,你看得也太快了。。。还没翻译完呢 0 0
要不等到 ***2013年4月11日*** 再来看看吧~~
@@ -92,4 +92,61 @@ Go语言支持交叉编译比如说你可以在运行Linux系统的计算机
- [Go语言学习园地](http://studygolang.com/)
- [Golang中国](http://golang.tc)
##1.2.6 语言的用途
##1.2.6 语言的用途
Go语言被设计成一门应用于搭载Web服务器存储集群和类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言Go语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持这对于游戏服务端的开发而言是再好不过了。
Go语言一个非常好的目标就是实现所谓的复杂事件处理[CEP](http://en.wikipedia.org/wiki/Complex_event_processing)这项技术要求海量并行支持高度的抽象化和高性能。当我们进入到物联网时代CEP必然会成为人们关注的焦点。
但是Go语言同时也是一门可以用于实现一般目标的语言例如对于文本的处理前端展现甚至像使用脚本一样使用它。
值得注意的是因为垃圾回收和自动内存分配的原因Go语言不适合来开发对实时要求很高的软件。
越来越多的谷歌内部的大型分布式应用程序都开始使用Go语言来开发例如谷歌地球的一部分代码就是由Go语言完成的。
如果你想知道一些其它组织使用Go语言开发的实际应用项目你可以到这个页面进行查看[http://go-lang.cat-v.org/organizations-using-go](http://go-lang.cat-v.org/organizations-using-go)。出于隐私保护的考虑许多公司的项目都没有展示在这个页面。我们将会在第21章讨论到一个使用Go语言开发的大型存储区域网络SAN案例。
在Chrome浏览器中内置了一款Go语言的编译器用于本地客户端NaCl ***为什么我觉得这是"钠"*** 这很可能会被用于在Chrome OS中执行Go语言开发的应用程序。
Go语言可以在Inter或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.1*** )。
##1.2.7 关于特性丢失
许多能够在大多数面向对象语言中能够发现的特性Go语言都没有支持但其中的一部分可能会在未来被支持。
- 为了简化设计,不支持函数重载和操作符重载
- 为了避免在C/C++开发中的一些Bug和混乱不支持隐式转换
- Go语言通过另一种途径实现面向对象设计第10-11章来放弃类和类型的继承
- 尽管在接口的使用方面第11章可以实现类似变体类型的功能但本身不支持变体类型
- 不支持动态加载代码
- 不支持动态链接库
- 不支持泛型
- 通过 `recover``panic` 来替代异常机制第13.2-3节
- 不支持断言
- 不支持静态变量
关于Go语言开发团队对于这些方面的讨论你可以通过这个页面查看[http://golang.org/doc/go_faq.html](http://golang.org/doc/go_faq.html)
##1.2.8 使用Go语言编程
如果你有其它语言的编程经历面向对象编程语言JavaC#Object-CPythonRuby在你进入到Go语言的世界之后你将会像迷恋你的X语言一样无法自拔。Go语言使用了与其它语言不同的设计模式所以当你尝试将你的X语言的代码迁移到Go语言时你将会非常失望所以你需要从头开始用Go的理念来思考。
如果你在至高点使用Go的理念来重新审视和分析一个问题你通常会找到一个适用于Go语言的优雅的解决方案。
##1.2.9 小结
这里列举一些Go语言的必杀技
- 简化问题,易于学习
- 内存管理,简洁语法,易于使用
- 快速编译,高效开发
- 高效执行
- 并发支持,轻松驾驭
- 静态类型
- 标准类库,规范统一
- 易于部署
- 文档全面
- 免费开源
##链接
- [目录](directory.md)
- 上一节:[起源与发展](01.1.md)
- 下一章:[安装与运行环境](02.1.md)

View File

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