建议你花 5 钟读完这篇文章,可以帮你节省100% 的寻找答案的时间,一定要坚持读到最后。

收藏的知友记得点个赞,大叔花了不少时间搜集整理,让好东西值得更多人看到。

Go 语言电子书推荐

Go语言圣经:提取码:7emu

Go语言实战:提取码:f7o2

Go语言学习笔记:提取码:7il3

Go语言发展趋势

Go的成熟特征得到许多开发者的欣赏,快速简单的编译 Go编译速度很快,如此快速的编译使它很容易作为脚本语言使用(Go不使用头文件)。只需要简单地编译主模块,项目中需要的其他部分就会自动编译,Go允许函数返回多个值来解决这个问题。这个从函数里面返回的值,可以用来检查定义的类型是否正确并且可以随时随地对函数的返回值进行检查。

简化的并发性,相对于其他语言,并发性在Go里面显得更加容易。把‘go’关键字放在任意函数前面然后那个函数就会在其go-routine自动运行(一个很轻的线程)。go-routines是通过通道进行交流并且基本上封锁了所有的队列消息。普通工具对相互排斥是有用,但是Go通过使用通道来踢掉并发性任务和坐标更加容易。 优秀的错误消息 所有与Go相似的语言,自身作出的诊断都是无法与Go相媲美的。 其他还有许多吸引人的地方,比如高阶函数、垃圾回收、哈希映射和可扩展的数组内置语言(部分语言语法,而不是作为一个库)等等。

当然,Go并不是完美无瑕。在工具方面还有些不成熟的地方和用户社区较小等,但是随着谷歌语言的不断发展,肯定会有整治措施出来。尽管许多语言,尤其是D、Rust和Vala旨在简化C++并且对其进行简化,但它们给人的感觉仍是“C++看上去要更好”。

但是GO语言的优势也是明显的,比如说可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。

静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。

语言层面支持并发,这个就是Go最大的特色,天生的支持并发,可以充分的利用多核,很容易的使用并发。

内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC不算完美,但是足以应付我们所能遇到的大多数情况,特别是Go1.1之后的GC。

简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大,我最爱的也是这部分。

内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。

跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息。

内嵌C支持,听说作者是C的作者,所以Go里面也可以直接包含c代码,利用现有的丰富的C库。

我还是很看好GO语言的发展的。

2022年,Go语言的最大事件就是2月份Go 1.18的发布以及Go泛型的伴随落地。泛型的加入势必会给Go社区带来巨大影响。随之而来的将是位于各个层次的Go包的重写或重构:底层库、中间件、数据结构/算法库、乃至业务层面。这一轮之后,Go社区将诞生有关于Go泛型编码的最佳实践,这些实践也会反过来为Go核心团队提供Go泛型演化与在标准库中应用的素材。

但泛型在提升语言表现力的同时,也会带来Gopher们最不想看到的复杂性,也正因为如此,Go核心团队也一直在努力向社区传达“Go泛型使用的一般准则”,以告知大家哪种场景适合使用泛型来加强代码,哪些场合泛型是不合适的。尽力防止泛型语法被滥用。

当然前面也说过,Go 1.18不仅仅是加入泛型,还有Go工作区模式以及原生支持fuzzing,前者是解决本地module开发与引用的方案,后者则为编写漏洞更少的代码提供了帮助。

有泛型加持的Go语言,“吸粉能力”得到了加强,将进一步得到来自其他语言阵营程序员的青睐。相信在2022年后半段,Gopher数量以及Go语言的受关注度都会有一定的增长。

Go泛型即将上路,也刚刚上路,离“完善”这个目标还有一定距离,就像go module一样,预计经过3-5个版本的打磨与优化,Go泛型才会真正成熟起来,并成为Go语言的又一柄利器。

Go 语言开源项目推荐

1. GoGuide

「Go语言学习指南」一份涵盖大部分 Golang 程序员所需要掌握的核心知识,拥有 Go语言教程、Go开源书籍、Go语言入门教程、Go语言学习路线。零基础学习 Go语言、Go编程,首选 GoGuide。

推荐指数:10.0

2. go-ast-book

《Go语法树入门——开启自制编程语言和编译器之旅》(开源免费图书/Go语言进阶/掌握抽象语法树/Go语言AST/凹语言)

推荐指数:10.0

3. golang

《Golang修养之路》本书针对Golang专题性热门技术深入理解,修养在Golang领域深入话题,脱胎换骨。

推荐指数:10.0

4. LeetCode-Go

LeetCode by Go 的解决方案,100% 的测试覆盖率,runtime beats 100% / LeetCode 题解

推荐指数:10.0

5. go

Go 编程语言官方开源项目,92.8K Star,学习 Go 语言必备。

推荐指数:10.0

6. 7days-golang

7天从零开始的golang程序(web框架Gee、分布式缓存GeeCache、对象关系映射ORM框架GeeORM、rpc框架GeeRPC等)7天用系列Go开始写/从零实现,非常值得进阶学习。

推荐指数:10.0

7.gf-vue-admin

基于goframe+vite+vue3搭建的开发基础平台,集成jwt鉴权,权限管理,动态路由,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器等开发必备功能,五分钟一套CURD前后端代码

推荐指数:10.0

30 天入门 Go 语言

Go语言学习导航

网站中含有 GO 语言开源图书、Go语言开发工具、Go语言入门教程、Go语言进阶教程、Go语言官方资源、Go语言 Web 框架、Go语言微服务资源、Go语言领域大牛。

最后,如果觉得大叔的分享对你有帮助,欢迎关注我