当前位置:朝夕网 » 数码科技 » 如何学习go语言?

如何学习go语言?

Go语言程序设计》、《Go语言学习笔记》、《Go语言趣学指南》、《Go语言编程》在线学习Go语言资料在线学习Go语言资料是国内开源的,因此都有比较详细的中文文档。微服务项目,你可以通过这个项目来学习微服务的相关知识,并且有中文版。一开始没必

Go语言这几年发展的确实不错,虽然没有实现赶超C++的目标,但是已经很接近了。而这些年也出现了一些Go语言的有名的项目,比如 kubernetes、Docker、Etcd、Tidb等项目。

我这里整理了一份关于Go语言的学习路线,也可以辅助你做判断。

Go语言是一门全新的静态类型开发语言,具有自动垃圾回收、丰富的内置类型、函数多返回值、错误处理、匿名函数、并发编程、反射、defer等关键特征。从语言层面来说天然支持并发,可以充分利用CPU多核,并且非常适合用来进行服务器编程、网络编程和分布式编程等。

在云计算领域,用Go语言编写的云基础项目如Docker、Kubernetes都取得了巨大的成功,别外还有知名的项目如Etcd、consul、flannel等,也都是使用Go语言实现的。

为你提供几张学习Go语言的线路图,从基础到进阶、Web编程、微服务的学习,你可以参考一下。

基础学习

书籍推荐

《Head First Go语言程序设计》、《Go语言学习笔记》、《Go语言趣学指南》、《Go语言编程》

当然,不必所有的书都读,找其中一本学习即可。

在线学习Go语言资料

Go By Example 中文版 : ,使用代码示例来学习 Go 语言。 Go 面试题 : ,也是使用代码示例来讲解 Go,用来准备面试也是很好的。 无闻大佬的在线入门指南 : 跟着单元测试学习 Go : ,有中文版。

初级练手项目

starcharts : ,项目的功能是生成 Github 上面的项目的 star 趋势图,核心代码不多,用来练手很合适。 gorched : ,使用 Go 写的一个小游戏。 pacgo : ,也是使用 Go 写的一个小游戏网页开发语言有哪些,每一步都有详细的描述和代码实现。 wechat-go : ,微信 web 版 API 的 Go 实现,模拟微信网页版的登录/联系人/消息收发等功能。

Go语言进阶

书籍推荐

《Go程序设计语言》、《Go专家编程》、《Go语言高级编程》、《Go并发编程》

在线学习Go语言资料

1.《Go 语言设计与实现》: 。

2.《Go 语言高级编程》: 。

进阶练手项目

rosedb : ,一个用 Go 实现的简易高效的 k-v 存储引擎。 gochat : ,一个 Go 语言实现的轻量级 im 系统,对网络方面熟悉或者感兴趣的可以看看。 7DaysGolang : ,7 天使用 Go 从零实现 web 框架、分布式缓存、ORM 框架,、RPC 框架,代码量不多,但是质量挺不错的

Go Web编程

如何学习go语言?

书籍推荐

《Go Web编程》

在线学习资料

可以学习下 web 框架 Gin、beego:两个框架都比较的流行,选择其中一个其实就可以了,推荐 Gin。官方文档都有中文,照着 demo 敲一下,了解下怎么处理 HTTP 请求的。

其次还需要掌握一下比较流行的 ORM 框架 Gorm,有官方中文文档,照着 demo 敲一下基本上两天就能掌握了,后面遇到不会的再来查。

Web框架相关的,基本上看官方文档就可以了,就不用再去找专门介绍的书籍,没有比官方文章更正宗的资料了。

除框架之外,你还需要学会的是包括但不限于:

Go Web项目推荐

gin-vue-admin : ,使用 Gin 框架构建的后台管理系统。 ferry : ,基于 Gin + Vue + Element UI 前后端分离的工单系统。 go-admin : ,Gin + Vue + Element UI 的前后端分离权限管理系统。

Go 微服务

目前 Go 在微服务中的应用也比较广泛,但说实话,微服务是一个太庞大的话题,你不可能把每一个核心的问题都能够搞清楚网页开发语言有哪些,而且也没条件,或许只能在公司的具体的微服务生产环境中,才能够对相关的概念有更加深刻的体会。

推荐一本微服务概述的基础书籍《微服务设计》、《微服务架构设计模式》,可以帮助你理解微服务的建模、集成、测试、部署和监控的一些基础知识。

其次,你可以看一下《Go微服务实战》这本书,看后半部分即可,里面其实介绍的还是关于微服务方面的知识。

推荐 Go 语言的微服务框架 GoKit、GoMicro、go-zero、kratos,可以随便选择一个,理解其基本的用法、设计等等。其中 go-zero 和 kratos 是国内开源的,因此都有比较详细的中文文档。

在线学习的资料:

手把手实现一个简单的 Go 微服务项目,你可以通过这个项目来学习微服务的相关知识,并且有中文版。

Go语言原理研究

如果你对Go语言底层原理感兴趣的话,可以看下这本书《Go语言底层原理剖析》。

开源项目学习

在项目开发过程中,也会用到各种开源项目。一开始没必要直接钻研源码,先要学习开源项目背景,能解决什么问题,开源作者的项目理念,使用了哪些技术等等。

这些清楚以后,可以找自己感兴趣的技术点或者模块去针对性的学习,千万不要想着一开始就想一网打尽式的学习,没有针对性意味着没有重点,没有重点很大概率就会白学或者学到的就会很少。

先推荐几个经典的开源项目供你参考:

如果你有自己比较看好的开源项目会更好,兴趣永远是前进的第一步。

相对前几年,Go语言的书籍、教程,各种文章都如雨后春笋一般越来越多,学习起来也更加方便,但是同时也要注意不要过度陷入知识碎片而无法自拔,最重要的还是要去系统去学习一下,针对性的练习、实践和应用。

本文到此结束,希望对大家有所帮助!

免责声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。朝夕网 » 如何学习go语言?