前言

最近总有读者问我可不可以推荐一下go语言入门必读书籍。所以今天就推荐几本。因为笔者也没读过几本,所以就咨询了几位前辈,现在我就把这一份书单介绍给你们,从入门到进阶。

Go语言简介

Go语言是最近几年流行起来的语言,该语言由谷歌发明,现在得到广泛应用。Go语言的最大特点就是语法简单且并发支持度好,开发效率很高。平常我们在C/C++语言中需要几十行的代码量,在Go语言中可能就只需要几行代码就可以搞定。现在也越来越多的人开始转学Go

Go语言优势

  • 脚本化的语法;开发效率高,容易上手
  • 静态类型+编译型,程序运行速度有保障;静态类型+编译型语言相对于动态类型+解释型语言的效率高
  • 原生的支持并发编程;降低开发、维护成本/程序可以更好的执行
  • 对于云原生支持比较好,容器化,微服务化比较容易。

Go的缺点

  • 它不支持泛型,即使有很多关于它的讨论。可能也在议程当中,期待那一天的到来。
  • 使用这种编程语言分发的软件包非常有用,但Go在传统意义上并不是面向对象的。
  • 缺少一些库,尤其是UI工具包。

Go原生应用

  • Docker:一组用于部署Linux容器的工具
  • Openshift:由Red Hat提供的云计算平台即服务。
  • Kubernetes:无缝自动化部署流程的未来
  • Tidb: 开源分布式关系型数据库。
  • InfluxDB:是由InfluxData开发的开源时间序列数据库。
  • Etcd:分布式的键值对数据存储系统,提供共享配置、服务的注册和发现。

擅长领域

Go语言主要用途如下:

  1. 服务器编程,如处理日志、数据打包、虚拟机处理、文件系统等
  2. 分布式系统,数据库代理器等
  3. 网络编程,如Web应用、API应用、下载应用
  4. 内存数据库,如groupcache、couchbase的部分组建
  5. 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。

入门书籍

  • Go语言核心编程

学习任何一门语言,首先要学习的就是语法,这一本书其实就完全可以带你入门,我读的第一本Go相关书籍就是它,对Go的基础语法、核心用都进行了详细讲解,尤其其中有几篇文章对Go语言陷阱进行讲解,真的很棒,强烈推荐。

  • Go语言程序设计

这本书来头不小,其作者是Kernigan和谷歌公司Go团队主管Alan Donovan。这本书应该说是Go语言入门必读的第一本书。全书总共分为13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型等等。这里就不全列举了。不过这本书我没有读过,所以给他放在了第二位。

  • Go语言编程

这本书是国内某云的研发团队编写的。该公司是国内最早大规模使用Go的。这本强烈推荐给大家,这本书不仅介绍Go语言的关键语法,并且从工程实践的角度介绍Go语言的内容,从中一定会收获不少。

  • Go并发编程实战

这本书讲解了Go语言的最大特点:并发编程。这本书对Go语言并发进行深入讲解,在你熟悉了Go语言基本语法后,强烈推荐大家看一下这本书,让你对并发的理解更上一个层次。

进阶书籍

  • Go Web编程

这个是我读的第二本书,本书将教读者运用现代化设计理念构建Go Web应用的方法。阅读本书能让读者学会如何通过依赖注入设计模式来编写测试替身,如何在Web应用中使用并发特性,还有如何在Web服务中创建以及处理JSON数据和XML数据。除此之外,读者还将学会如何尽可能地减少应用对外部框架的依赖,并了解大量与应用测试以及应用部署有关的有价值的生产技术。

  • Go语言编程之旅

这本书的作者是我们的煎鱼大佬,这本书是市面上少有的面向项目实践的一本书。这本书涵盖命令行应用、HTTP应用、RPC应用、WebSocket应用等常见项目,从做、学、排三个方向讲解,让我对项目实践有了更透彻的理解,特别是最后一章,排查和分析问题的总结,让我受益匪浅。

  • Go语言高并发与微服务实战

本书以当前流行的微服务架构和Go语言的高并发特性为主线,介绍Go语言微服务的各个组件和并发实战。目前在市面上大部分微服务相关书籍中都是JAVA语言实现的,而本书则是基于Go语言来对微服务结构进行深入剖析,以大量实战总结和案例为主线怼微服务的相关技术做讲解。如果想系统学习微服务,这本书不容错过。

  • Go语言圣经

很多大佬都推荐这一本书,但是我还是把它放在了最后,因为他真的不适合新手学习,里面的练习题真的难。所以一定要有一定经验了再去看这一本书,这本书确实是本好书,但不太适合非 C 系编程语言的人作为入门 Go 的首选。但是强烈推荐大家看一下这本书,不过不是刚入门的时候。

总结

上面这8本书,只是推荐阅读哈,并不是入门一定要看书哈,看视频也是一个不错的选择,B站入门视频就很多,可以白嫖~~~。

Go语言圣经强烈推荐看,兄弟们~~~。

好啦,这一篇文章到这就结束了,我们下期见~~。希望对你们有用,又不对的地方欢迎指出,可添加我的golang交流群,我们一起学习交流。

结尾给大家发一个小福利吧,最近我在看[微服务架构设计模式]这一本书,讲的很好,自己也收集了一本PDF,有需要的小伙可以到自行下载。获取方式:关注公众号:[Golang梦工厂],后台回复:[微服务],即可获取。

我翻译了一份GIN中文文档,会定期进行维护,有需要的小伙伴后台回复[gin]即可下载。

翻译了一份Machinery中文文档,会定期进行维护,有需要的小伙伴们后台回复[machinery]即可获取。

我是asong,一名普普通通的程序猿,让gi我一起慢慢变强吧。我自己建了一个golang交流群,有需要的小伙伴加我vx,我拉你入群。欢迎各位的关注,我们下期见~~~

推荐往期文章:

  • machinery-go异步任务队列
  • go参数传递类型
  • 手把手教姐姐写消息队列
  • 常见面试题之缓存雪崩、缓存穿透、缓存击穿
  • 详解Context包,看这一篇就够了!!!
  • go-ElasticSearch入门看这一篇就够了(一)
  • 面试官:go中for-range使用过吗?这几个问题你能解释一下原因吗

Go语言相关书籍推荐(从入门到放弃)相关推荐

  1. 日本好的机器学习,深度学习相关书籍推荐

    日本好的机器学习,深度学习相关书籍推荐 日文书名:ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 中文书名:用Python从0开始深度学习理论与实践 作者: ...

  2. oracle jvm规范官网下载及相关书籍推荐

    oracle官网下载 https://www.oracle.com/downloads oracle.com/cn/java/technologies/javase-downloads.html 下载 ...

  3. 怎么学好Web前端开发 有哪些相关书籍推荐

    怎么学好Web前端开发?有哪些相关书籍推荐?想学好Web前端开发技术,好的学习资料当然必不可少,有哪些好的书籍推荐呢?下面就给大家推荐几本热度比较高的书籍,相信好的学习资料能让你的学习效果事半功倍. ...

  4. C++书籍推荐之入门进阶封神C++书籍大全!

    一.C++书籍推荐之手册类(适用所有级别) 1.C++程序设计语言(The C++ Programming Language) (更新到C++11) 作者:Bjarne Stroustrup,C++ ...

  5. tensorflow入门书籍推荐_架构书籍推荐(入门读)

    最近,参与了公司的一个 blabla 计划,来帮助他/她人成长.随之,便有了整理架构相关书籍的想法,也就有此文. 考虑到找的插图比较麻烦,我直接用了书的链接--快速又准确,只是看上去像是一个个的广告. ...

  6. C语言学习书籍 零基础入门篇

    1.C语言入门很简单(配光盘)(入门很简单丛书) 2.零起点学通C语言(多媒体范例教学)(DVD)(C语言软件开发从零基础到精通) 3.C语言从入门到精通 4.啊哈C语言!逻辑的挑战(修订版)--20 ...

  7. iOS开发相关书籍推荐

    前言:开发书籍书单,找相关书籍时发现的书单,本文只当书单参考,不提供资源下载. 一.网络层 1. <HTTP权威指南(中文版)> 2. <IOS网络高级编程> 二.架构.程序设 ...

  8. 12个python超强学习网站!加python书籍推荐!( 入门python自学推荐!建议收藏!)

    python学习网站 一.python学习网站 1 CSDN 2 Python123 3 python中文学习大本营 4 python开发者社区 5 github 6 python学习网 7 pyth ...

  9. 不可多得的MBA相关书籍推荐

    这份MBA书籍及教材清单已经被众多MBA专业的学子们验证,这些书大多理论及实践兼顾,是不可多得的MBA相关书籍.其中,除榜首的<MBA必读12篇>只能从12Reads官网获得外,其他书籍均 ...

最新文章

  1. 使用 FlipClock.js 制作精美的时钟、定时器和倒计时功能
  2. 博后招募 | 清华大学电子系姚权铭教授招聘机器学习方向博士后
  3. 简单暴力到dp的优化(萌新篇)
  4. 【GPU编程】The Cg Runtime:OpenGL中调用Cg程序
  5. SSH整合之四(页面逻辑的实现)
  6. 关于配置tomcat多版本同eclipse的配置问题
  7. thrift编写服务端 客户端
  8. Flash 用FLASH遮罩效果做图片切换效果
  9. Java 暴力破解zip压缩包密码
  10. 华为S6720系列万兆交换机光模块解决方案
  11. 计算机毕业论文外文翻译是什么,毕业论文的外文翻译是什么
  12. 【xinfanqie】熟知针式与喷墨打印机之间的区别
  13. (完美)华为畅玩6X BLN-AL10的USB调试模式在哪里打开的经验
  14. __stack_chk_fail之栈帧溢出检测技术
  15. soul显示服务器异常,soul账号状态异常是什么意思?soul账号异常操作多久解封
  16. Tmall商品详情API接口
  17. 新年拍照好伙伴,vivo S12 Pro前后都精彩
  18. 引导魔女之力,征服星辰大海 升级篇: 重要事情说三遍: 升级!升级!!升满级!!! 简述: 1.本篇仅升级,涉及到的技巧全职业都可以参考; 2.考虑到萌新刚玩通关护卫者系统等级不高,故
  19. 使用ffmpeg合并音频视频并实现背景音乐循环播放
  20. android最新主流机型,就要Android 市售主流机型随你挑

热门文章

  1. 【高质量图片批量压缩工具】Squash 2.0.4 for Mac
  2. Verse on Premises 1.0.5IF1发布
  3. Unity入门——实现一个简单的跑酷游戏(资源预制)
  4. java 大小写匹配_大写字母的Java正则表达式
  5. Element文件上传-解决跨域
  6. AS Library 使用NDK 的一些坑 Unable to strip library (+深入了解部分gradle机制)
  7. (转)计算机领域的顶级会议和期刊
  8. TiDB:基于 Raft 的 HTAP 数据库
  9. Stanford Named Entity Recognizer (NER) 斯坦福命名实体识别(NER)
  10. 51信用卡两道编程题