Go语言圣经(中文版)
为了方便喜欢Go语言的同学,重新梳理一篇《The Go Programming Language》中文版,非常感谢翻译同学的贡献精神,对于入门来说,本书可以称之为经典,希望可以帮助对于正在学习Go语言的广大同学;
如果你有什么好的意见或者建议,可以加我微信进行沟通。
序
Go语言圣经 《The Go Programming Language》 中文版本,仅供学习交流之用。
对于希望学习CGO、Go汇编语言等高级用法的同学,我们推荐《Go语言高级编程》开源图书。
项目主页:http://github.com/gopl-zh
原版官网:http://gopl.io
译者信息:
译者:柴树杉,Github @chai2010,Twitter @chaishushan
译者:Xargin, https://github.com/cch123
译者:CrazySssst
译者:foreversmart njutree@gmail.com
关注微信公众号(KUBERNETES技术栈)
在线预览
https://books.studygolang.com/gopl-zh/
https://www.k8stech.net/gopl-zh/
译者序
在上个世纪70年代,贝尔实验室的Ken Thompson和Dennis M. Ritchie合作发明了UNIX操作系统,同时Dennis M. Ritchie为了解决UNIX系统的移植性问题而发明了C语言,贝尔实验室的UNIX和C语言两大发明奠定了整个现代IT行业最重要的软件基础(目前的三大桌面操作系统的中Linux和Mac OS X都是源于UNIX系统,两大移动平台的操作系统iOS和Android也都是源于UNIX系统。C系家族的编程语言占据统治地位达几十年之久)。
在UNIX和C语言发明40年之后,目前已经在Google工作的Ken Thompson和Rob Pike(他们在贝尔实验室时就是同事)、还有Robert Griesemer(设计了V8引擎和HotSpot虚拟机)一起合作,为了解决在21世纪多核和网络化环境下越来越复杂的编程问题而发明了Go语言。
从Go语言库早期代码库日志可以看出它的演化历程(Git用git log --before={2008-03-03} --reverse命令查看)。
2016年 1月 于 武汉
前言
“Go是一个开源的编程语言,它很容易用于构建简单、可靠和高效的软件。”(摘自Go语言官方网站:http://golang.org )
Go语言由来自Google公司的Robert Griesemer,Rob Pike和Ken Thompson三位大牛于2007年9月开始设计和实现,然后于2009年的11月对外正式发布(译注:关于Go语言的创世纪过程请参考 http://talks.golang.org/2015/how-go-was-made.slide )。语言及其配套工具的设计目标是具有表达力,高效的编译和执行效率,有效地编写高效和健壮的程序。
Go语言由来自Google公司的Robert Griesemer,Rob Pike和Ken Thompson三位大牛于2007年9月开始设计和实现,然后于2009年的11月对外正式发布(译注:关于Go语言的创世纪过程请参考 http://talks.golang.org/2015/how-go-was-made.slide )。语言及其配套工具的设计目标是具有表达力,高效的编译和执行效率,有效地编写高效和健壮的程序。
Go语言有着和C语言类似的语法外表,和C语言一样是专业程序员的必备工具,可以用最小的代价获得最大的战果。但是它不仅仅是一个更新的C语言。它还从其他语言借鉴了很多好的想法,同时避免引入过度的复杂性。Go语言中和并发编程相关的特性是全新的也是有效的,同时对数据抽象和面向对象编程的支持也很灵活。Go语言同时还集成了自动垃圾收集技术用于更好地管理内存。
Go语言尤其适合编写网络服务相关基础设施,同时也适合开发一些工具软件和系统软件。但是Go语言确实是一个通用的编程语言,它也可以用在图形图像驱动编程、移动应用程序开发 和机器学习等诸多领域。目前Go语言已经成为受欢迎的作为无类型的脚本语言的替代者:因为Go编写的程序通常比脚本语言运行的更快也更安全,而且很少会发生意外的类型错误。
Go语言还是一个开源的项目,可以免费获取编译器、库、配套工具的源代码。Go语言的贡献者来自一个活跃的全球社区。Go语言可以运行在类UNIX系统—— 比如Linux、FreeBSD、OpenBSD、Mac OSX——和Plan9系统和Microsoft Windows操作系统之上。Go语言编写的程序无需修改就可以运行在上面这些环境。
“本书是为了帮助你开始以有效的方式使用Go语言,充分利用语言本身的特性和自带的标准库去编写清晰地道的Go程序。”
欢迎大家关注我的公众号ID:k8stech
文章转自公众号:Kubernetes技术栈