http://mpvideo.qpic.cn/0b2efuaacaaapiabgz7znvrfalodaewqaaia.f10002.mp4?dis_k=b720a91e1747133dc7917aa4a6bf0af7&dis_t=1669035075&vid=wxv_2531649293250969601&format_id=10002&support_redirect=0&mmversion=false
最近入职新公司,认识了几个新同事,并且都是做PHP开发的。在一次沟通中,聊到了Go相关的话题,他们也是最近在学习Go。因为个人也是接触Go有一段时间了并且都有线上的单体应用、微服务相关的实战经验,便分享了一些个人在学习Go中的一些经验总结。本文分享给大家。
对于Go这门开源的编程语言来讲,国内可是早已经热火朝天了。导致不管是做PHP、Java、C还是其他的语言的开发者都开始拥抱这门编程语言。同时互联网招聘市场对Go开发者的需求也越来越多
,工资待遇也是非常不错的
。如下图是上海地区,招聘1-3年的Go开发者薪资待遇。
学习目标
首选我们学习一门编程语言,我们明确自己为什么去学习?该如何学习?学习之初该通过什么渠道去学习?用我个人的学习原则就是2w1H
。2w指的是what(是什么?),why(为什么?),How(如何做?)。
学习文档与视频
下面就来具体分析一下个人是如何入门Go,并正式踏入Go这门编程语言的。首先学习一门语言有两种场景的途径,一种是看官方文档
,另外一种是看教学视频
。这两种方式因人而异,有的是喜欢看视频,因为视频更加直观、易懂,有的人是喜欢看文档,比较方便并且能够前面的了解这门语言(个人观点,教学视频一般都是老师根据自己经验录制的视频,很多都是实战经验,但是不会把所有的知识点讲全面,很多知识还是需要自己花时间去深入的学习)。
- <<Go入门指南>>。个人是通过这本书籍入门。最开始是在菜鸟教程官网大致花了半天时间,对Go的基础知识浏览一遍。知道
Go的优势
、Go的环境安装
、Go的数据类型
、Go协程
相关的知识。该书讲的非常的基础,并且有大量的配套问题进行练习,基本上每一个章节的末尾都有一个问题,让你完成该问题。但也存在一个问题,核心知识比较零散,需要自己去总结
。 - <<Go Web 编程>>。这本书
偏向一些总结性的知识,并且涵盖了web开发常见的核心知识
。对于一些知识点介绍的比较浅,不是很深入,毕竟是一门入门级的书籍。
上面的两本书籍,全程的看完一遍并且照着其中的代码都手敲一遍,基本算是有一个入门的了解。如果你不喜欢看书籍,给大家推荐几个不错的视频教程。
- Go语言核心编程。该视频是韩顺平老师讲课,讲的课程非常细致。有逻辑图、代码演示、文档总结和课堂小练习。特别适合编程小白学习Go开发的一套视频课程。
- B站最深度的Golang学习到实战。该教程适合有一定编程基础知识的开发者。会涉及大操作系统、Go底层核心知识的总结。
- 还有一些其他的视频教程,因为涉及到个人的账号信息。如果大家有需要的可以私信我,单独分享。
入门项目
学习过Go语言,会发现其实语法真的很简单并且很少。难的是深入以及它的底层知识。当然我们最开始并不需要深入的知识底层原理类的知识,更多的是知道怎么写,多一些实战项目经验。
我们如何去找入门项目呢?
这个问题被问到过很多次,至于答案其实非常简单。
- 回顾一下自己之前在公司做过的有价值项目,或者指的学习过的开源项目,或者自己之前开发过的项目。
- 找出这些项目中,
有价值并且难度较为复杂的功能模块
。然后使用Go语言实现一遍。 - 我这里罗列一些关于web开发相关的入门技术栈。
Gin框架。Gin 是一个用Go编写的 HTTP Web框架。Gin框架包含了web开发常用的功能。例如路由、中间件、cookie、请求验证、接口响应、日志处理等等功能,非常适合入门的一个web框架。这里推荐一套视频教程。Golang框架Gin入门实战教程
Go-redis。用于Redis服务器和Redis集群的Golang Redis客户端。开箱即用可与 Redis 服务器、Redis 集群、Redis Sentinel 甚至 Redis 服务器环一起使用。支持管道、事务、发布/订阅、Lua 脚本、模拟、分布式锁等。
后面的内容写起来有点累了,自己看上面的视频吧。。。。。。