想系统学习GO语言,推荐您几本靠谱书

在计算机科学领域,提到不同寻常的人,总会有一些名字会闪现在你的脑海中。Rob Pike、Robert Griesmier和Ken Thompson就是其中几个。他们3个人负责构建过UNIX、Plan 9、B、Java的JVM HotSpot、V8、Strongtalk、Sawzall、Ed、Acme和UTF8,此外还有很多其他的创造。在2007年,这3个人凑在一起,尝试一个伟大的想法:综合他们多年的经验,借鉴已有的语言,来创建一门与众不同的、全新的系统语言。他们随后以开源的形式发布了自己的实验成果,并将这种语言命名为“Go”。如果按照现在的路线发展下去,这门语言将是这3个人最有影响的一项创造。

如今的程序员和公司比以往更加信任开源软件的力量。Go语言是一种让代码分享更容易的编程语言。Go 语言自带一些工具,让使用别人写的包更容易,并且 Go 语言也让分享自己写的包更容易。

我们希望读者能认识到,Go语言附带的工具可以让开发人员的生活变得更简单。最后,读者会意识到为什么那么多开发人员用Go语言来构建自己的新项目。

书单:

入门:

Go语言趣学指南

想系统学习GO语言,推荐您几本靠谱书

Go作为一门广受关注的热门语言,在市场上从来不缺少相关的书,特别是面向初学者的书。然而,跟市面上很多声称是入门书却只会一股脑儿地将各种语言细节硬塞给读者的“伪入门书”不一样,本书是一本真正面向初学者的书。整本书的学习曲线非常平缓,不会像过山车那样忽高忽低。书中的内容首先从变量、循环、分支、类型等基础知识开始,逐渐进阶至函数、方法、收集器和结构,最后再深入到指针、错误处理和并发等高级特性。只要翻开本书一页页读下去,你就会循序渐进地学到越来越多Go语言的知识,并且逐步掌握Go语言的众多特性。

除上面提到的优点之外,本书还是一本非常有趣的书。作者在书中列举了大量跟天文以及航天有关的例子,读者不仅要计算从地球乘坐宇宙飞船航行至火星所需的天数,还要在火星上放置探测器以便查找生命存在的痕迹,甚至还要想办法改造火星,使它能够适宜人类居住。值得一提的是,书中很多地方都带有可爱的地鼠(gopher)插图,它们就像旅行途中优美的景色一样,将为我们的学习旅途增添大量的乐趣。

总而言之,这是一本既有趣又实用的Go语言入门书。如果你只想读一本关于Go语言的入门书,那么我强烈推荐你读这一本。

进阶:

Go语言实战

想系统学习GO语言,推荐您几本靠谱书

Go语言实战 自始至终是为你—本书的读者精心制作的一本探索、学习和使用Go语言的简洁而全面的指导手册。在全世界,你也不会找到比Bill、Brian和Erik更好的导师了。

本书是写给已经有一定其他语言编程经验,并且想学习Go语言的中级开发者的。我们写这本书的目的是,为读者提供一个专注、全面且符合语言习惯的视角。我们同时关注语言的规范和实现,涉及的内容包括语法、类型系统,并发、通道、测试以及其他一些主题。我们相信,对于刚开始学Go语言的人,以及想要深入了解这门语言内部实现的人来说,本书都是极佳的选择。

Go语言高级编程

想系统学习GO语言,推荐您几本靠谱书

本书的第1章是语言基础,主要介绍了Go语言的发展历史。作者从简单的“Hello, World”程序,详细分析了Go语言各个前辈的演变过程,从而帮读者更直观地了解Go语言的发展历程。还通过简单的生产者/消费者模型,通俗易懂地诠释了Go语言的并发编程哲学的口号:“Do not communicate by sharing memory;instead,share memory by communicating.”(不要通过共享内存来通信,而应通过通信来共享内存)。

第2章和第3章主要从CGO和汇编入手,详细讲解了如何通过Go语言来调用C/C++实现的类库,从而丰富Go语言的基础库。同时了解Go语言汇编可以更容易地理解Go语言中动态栈、接口等高级特性的实现原理。

随着微服务架构的盛行,各种RPC相关的架构也脱颖而出,第4章从Go语言标准库自带的RPC入手,一步步地实现了一个Watch(监视)功能的接口。除了标准库里面的RPC,这一章还详细讲解了谷歌推出的gRPC框架,并基于gRPC实现了一个双向流特性的发布和订阅系统。

第5章主要以典型的开源Web框架为例,深入解释Router(路由)和Middleware(中间件)的执行过程以及相关原理,通过熟读和理解这一章的内容,读者可以使用标准的HTTP库实现自己的轻量级Web框架。同时这一章也介绍了实际Web开发过程中的一些问题,以及在Go语言中如何面对并解决这些问题。

众所周知,Go语言在高并发、通信交互复杂、重业务逻辑的分布式系统中非常适用,具有开发体验好、服务稳定、性能高等优势。因此,本书最后的第6章通过解决分布式开发过程中的问题,来讲解Go语言在分布式开发过程中的实践。

本书作者是国内第一批Go语言实践者和Go语言代码贡献者,创建了Go语言中国讨论组,并组织了早期Go语言相关中文文档的翻译工作。作者从2011年开始分享Go语言和C/C++语言混合编程技术。本书汇集了作者多年来学习和使用Go语言的经验,内容涵盖CGO特性、Go汇编语言、RPC实现、Protobuf插件实现、Web框架实现、分布式系统等高阶主题。其中,CGO特性实现了Go语言对C语言和C++语言混合编程的支持,使Go语言可以无缝继承C/C++世界数十年来积累的巨大软件资产。Go汇编语言更是提供了直接调用底层机器指令的方法,让我们可以最大限度地提升程序中热点代码的性能。

展开阅读全文

页面更新:2024-05-14

标签:进阶   语言   火星   系统   汇编语言   分布式   框架   入门   特性   读者   代码   简单   通信   经验   作者   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top