Go语言编程(完整版).pdf
图灵社区会员 soooldier(soooldier@) 专享 尊 版权
图灵社区会员 soooldier(soooldier@) 专享 尊 版权
内 容 提 要
本书⾸先引领读者快速浏览 Go 语⾔的全貌,迅速消除读者对这门语
⾔的陌⽣感,然后循序渐进地介绍
了 Go 语⾔的⾯向过程和⾯向对象的编程语法,其中穿插了⼀些与其
他主流语⾔的⽐较以让读者理解 Go 语
⾔的设计动机,接着探讨了 Go 语⾔最为 要的并⾏编程⽅法,之后
介绍了⽹络编程、⼯程管理、安全编程、
开发⼯具等⾮语法相关但⾮常 要的内容,最后为⼀系列关于 Go 语
⾔的⽂章,可以帮助读者更深⼊了解这
门全新的语⾔。
本书适合所有层次的开发者阅读。
图灵原创
Go语⾔编程
◆ 编著 许式伟 吕桂华 等
责任编辑 王军花
◆ ⼈⺠邮电出版社出版发⾏ 北京市崇⽂区⼣照寺街14号
邮编 100061 电⼦邮件 315@
⽹址
北京 印刷
◆ 开本 :800×1000 1/16
印张:15.25
字数 :361千字
2012年 8 ⽉第 1 版
印数 :1 — 4 000册
2012年 8 ⽉北京第 1 次印刷
ISBN 978-7-115-29036-6
定价 :49.00元
读者服务热线 :(010604 印装质量热线 :
(010
反盗版热线 :(010
图灵社区会员 soooldier(soooldier@) 专享 尊 版权
前⾔ :为什么我们需要⼀门新语⾔ 1
1
前⾔ :为什么我们需要⼀门新语⾔
2
编程语⾔已经⾮常多,偏性能敏感的编译型语⾔有 C 、C++ 、Java 、C# 、
Delphi和Objective-C
3
等,偏快速业务开发的动态解析型语⾔有PHP 、Python 、Perl 、Ruby 、
JavaScript和Lua等,⾯向特
定领域的语⾔有Erlang 、R和MATLAB等,那么我们为什么需要 Go这
样⼀门新语⾔呢?
在2000年前的单机时代,C语⾔是编程之王。随着机器性能的提升、
软件规模与复杂度的提
⾼,Java逐步取代了C的位置。尽管看起来Java 已经深获⼈⼼,但
Java编程的体验并未尽如⼈意。
历年来的编程语⾔排⾏榜 (如图0-1所⽰)显⽰,Java语⾔的市场份额
在逐步下跌,并趋近于C语
4
⾔的⽔平,显⽰了这门语⾔后劲不⾜。
Tiobe编程语⾔排⾏榜
Java语⾔
5
)%
C语⾔
分⽐ (
6
所占的百
7
时间
图0-1 编程语⾔排⾏榜①
8
Go语⾔官⽅⾃称,之所以开发Go 语⾔,是因为“近10年来开发程序之
难让我们有点沮丧” 。
这⼀定位暗⽰了Go语⾔希望取代C和Java 的地位,成为最流⾏的通⽤
开发语⾔。
Go希望成为互联⽹时代的C语⾔。多数系统级语⾔ (包括Java和C#)
的根本编程哲学来源于
——————————
9
① 数据来源 :
/index.php/content/paperinfo/tpci/index
.html 。
图灵社区会员 soooldier(soooldier@) 专享 尊 版权
2 前⾔ :为什么我们需要⼀门新语⾔
C++,将C++的⾯向对象进⼀步发扬光⼤。但是Go语⾔的设计者却
有不同的看法,他们认为C++ 真
的没啥好学的,值得学习的是C语⾔。C语⾔经久不衰的根源是它⾜够
简单。因此,Go语⾔也要
⾜够简单 !
那么,互联⽹时代的C语⾔需要考虑哪些关键问题呢?
⾸先,并⾏与分布式⽀持。多核化和集群化是互联⽹时代的典型特
征。作为⼀个互联⽹时代
的C语⾔,必须要让这门语⾔操作多核计算机与计算机集群如同操作单
机⼀样容易。
其次,软件⼯程⽀持。⼯程规模不断扩⼤是产业发展的必然趋势。单
机时代语⾔可以只关⼼
问题本⾝的解决,⽽互联⽹时代的C语⾔还需要考虑软件品质保障和团
队协作相关的话题。
最后,编程哲学的 塑。计算机软件经历了数⼗年的发展,形成了⾯
向对象等多种学术流派。
什么才是最佳的编程实践?作为互联⽹时代的C语⾔,需要回答这个问
题