书单一共包含 10 本书,分为入门 5 本,进阶 5 本。我读过其中 7 本,另外 3 本虽然没读过,但也是网上推荐比较多的。

虽然分了入门和进阶,但是很多书中这两部分内容是都包含了的。大家看的时候可以根据自己的情况,先打好基础,再进行进阶。

有的书是开源的,可以直接在线阅读,有的有电子书。如果条件允许的话,买正版是最好的。

《Go语言趣学指南》

本书是一本面向 Go 语言初学者的书,内容也比较浅,非常适合入门。

书中循序渐进地介绍了使用 Go 语言必需知道的知识,展示了非常多生动有趣的例子,并通过提供大量练习来加深读者对书中所述内容的理解。

《Go 入门指南》

这本书的英文名称叫《The Way to Go》,作者利用业余时间来进行翻译工作。在取得原作者 Ivo Balbaert 授权的情况下,将其开源。

在线阅读: https://github.com/Unknwon/the-way-to-go_ZH_CN

《Go 语言编程》

本书以介绍 Go 语言特性为主,示例则尽量采用作者平常的实践,而不是一个没有太大实际意义的语法示范样例。通过与 C++ 和 Java 做一个横向比较,可以更直观看出其设计理念的差别。

作者许式伟为原金山 WPS 首席架构师、曾是盛大创新院研究员,目前是国内 Go 语言实践圈子公认的 Go 语言专家。参与本书写作的几位作者都是实际用 Go 语言开发的项目的开发人员,有较强的实战经验。

《Go 语言 101》

是一本着墨于 Go 语法语义以及运行时相关知识点的编程指导书(Go 1.17 就绪)。 此书旨在尽可能地帮助 Go 程序员更深更全面地理解 Go 语言。

此书也搜集了 Go 语言和 Go 编程中的很多细节,其中有一些在官方文档中从未提及。

此书同时适合 Go 初学者和有一定经验的 Go 程序员阅读。

在线阅读: https://gfw.go101.org/article/101.html

《Go 语言程序设计》

本书由作者 Kernighan 和谷歌公司 Go 团队主管 Alan Donovan 联袂撰写,是学习 Go 语言的指南级书籍。内容翔实全面,涵盖了全部基础内容,值得一读。

《Go 语言实战》

相比于其他技术书籍,这本书很薄。显然,这不是面面俱到,涵盖所有知识点的一本书,但它直击要点。

我在阅读过程中,最大的感受就是,很多看基础知识过程中碰到的,又很难通过搜索引擎找到答案的问题,在这里获得了解答。

《Go Web 编程》

学语言不是目的,能够使用这门语言来干活并挣到钱,才是目的。因此,不得不学一下 Go 在 Web 编程方面的应用。

这本书是由黄健宏翻译的,这位译者,还著有《Redis 设计与实现》一书,书中深入浅出地分析了 Redis 所用的数据结构和设计思想,属实优秀。

《Go 语言高级编程》

涵盖 CGO、Go 汇编、RPC 实现、Web 框架、分布式系统等高阶主题。书中章节之间没有很强的关联性,每个章节都是独立的知识,完全可以按需阅读。

在线阅读: https://github.com/chai2010/advanced-go-programming-book

《Go 语言学习笔记》

作者是雨痕大佬,2015 年第一届 GopherChina 大会讲师。

本书分上下两卷:

上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项。

下卷则对运行时源码做出深度剖析,引导读者透彻了解语言功能背后的支持环境和运行体系,诸如内存分配、垃圾回收和并发调度等。本书不适合编程初学入门,可供有实际编程经验或正在使用 Go 工作的人群参考。

《Go 语言底层原理剖析》

本书使用浅显易懂的语言与大量图片深入介绍了 Go 语言编译时、类型系统、语法特性、函数调用规范、并发编程、内存管理与垃圾回收、运行状态监控等模块的使用方法和底层原理。

对于想要了解 Go 底层原理,阅读源码的同学来说,可以阅读此书,但想要完全理解书中的内容,并不是一件容易的事。

最近,我还整理了一份 Go 学习路线,思维导图如下:

如果感兴趣的话,详情见下面这篇文章:

Go 学习路线(2022)

这个学习路线还会不停维护和更新,大家也可以关注我的 GitHub ,这样就可以第一时间获取最新资源。

如果觉得本文还可以的话,欢迎 点赞 分享 关注 ,感谢支持。

推荐阅读:

  • 技术博客 硬核后端开发技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
  • Go 程序员 Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。
  • 面试题汇总 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。
书单一共包含 10 本书,分为入门 5 本,进阶 5 本。我读过其中 7 本,另外 3 本虽然没读过,但也是网上推荐比较多的。虽然分了入门和进阶,但是很多书中这两部分内容是都包含了的。大家看的时候可以根据自己的情况,先打好基础,再进行进阶。有的书是开 学习任何一门语言,都要学习好基础,把基础打牢,那些框架对你来说都是工具,你自己的基础好,懂得了他们的原理,自己就可以创造更优秀的框架。 基础 推荐 官方文档,没有什么比这个更清晰了。官方文档可以看这个中文的,比较快一些 https:// go -zh.org/doc/ 其次参考这个 Go 指南,练习一遍 https://tour. go -zh.org/welcome/1 现在对 Go 语言应该有了一个全面的认识,然后你再结合 Go 语言圣经这本书,深入理解 Go 的基础。 Go 语言圣经中文版 https 链接: https://pan.baidu.com/s/1mWD7DpRa56WXi7WmNaohOg 提取码: ki1e Cloud.Native. Go .pdf C和指针.pdf C++面向对象多线程编程.pdf Design Pattern In Go [ go 语言设计模式].pdf Docker —— 从 入门 到实践 - v1.0.pdf Docker 容器与容器云(第2版).pdf GO 语言圣经(1).pdf GO 语言圣经.pdf Go 内存模型 - Go 编程语言.pdf Go 学习 图1-1 努力工作?(来自XKCD) Go 语言使用了更加智能的编译器,并简化了解决依赖的算法,最终提供了更快的编译速度。编译 Go 程序时,编译器只会关注那些直接被引用的库,而不是像Java、C和C++那样,要遍历依赖链中所有依赖的库。因此,很多 Go 程序可以在1秒内编译完。在现代硬件上,编译整个 Go 语言的源码树只需要20秒。 因为没有从编译代码到执行代码的中间过
并发篇:协程、共享内存并发机制、CSP并发机制(Channel)、多路选择和超时控制、channel的关闭和广播、任务的取消、Context、并发任务(单例模式、仅需任意任务完成、所有任务完成、对象池、sync.Pool 对象缓存) 另外还有单元测试的内容。
文章目录Web开发基础最简示例 Go Web工作流程创建多路复用器处理静态文件创建处理器函数 Go Web 应用基础简单配置处理器与处理器函数创建处理器创建多个处理器多路复用器第三方多路复用器欢迎关注我的公众号:编程之路从0到1 Web开发基础 所谓Web开发,也就是我们通常说的网站后端开发。与其他语言相比, Go 的Web开发具有简单易学,并发效率高,原生标准库支持等特点。即使是Python Web开发...
学习是技术人员成长的基础,本次分享20本技术方面的 书籍 ,这些书不是每一本都是 经典 ,但是每一本都有其特点。以下20本大部分本人都看过,因此 推荐 给大家。(本次 推荐 的20本只是一个参考,比如像Head First,Java编程思想等 经典 书籍 是大家都知道,因此不在 推荐 之列) 本次分享大纲 大型网站架构系列 分布式系统系列 BAT技术文学系列 架构设计系列 本次分享总结 一、大型网站架...
解决 GitLab 报错:You are not allowed to force push code to a protected branch on this project 15078 weixin_68994630: 大佬,你这个例子没用啊!你不加return相当于归的时候在倒数第二层函数那里没有返回值,那么一直到最上层,当r=fun(0)向函数要返回值时就只能返回默认的none了。我想请教您一个问题,递归的时候我们想输出最后的目标,那么每层的选择(操作)通常是在递的时候就处理还是归的时候处理? 有什么区别?比如你这个例子是在递的时候+1.如果改成: if i<5: t=fun(i+1)+1 return t else: return t Go 学习路线(2022) 在线学习the-way-to-go中,我去扫地非常好 表情包 Python 获取字典中的第一个键 qq_40113195: list(my_dict.values())[0] 举一反一 表情包 Python 报错 ValueError list.remove(x) x not in list 解决办法 魚香肉丝盖饭: 表情包 表情包 太牛了吧大佬,我在递归里被这个东西搞了一下午 表情包