本文的目的:主要介绍学习路线,大部分根据笔者学习时参考的资料进行整理,你并不是一定要跟着文中的视频链接或博客链接来学习,但你可以参考本文,了解你在学习Go后端的时候,需要学一些什么。
学习路线推荐
官网
Go语法基础
教程视频: https://www.bilibili.com/video/BV1ae41157o9/
菜鸟教程: https://www.runoob.com/go/go-tutorial.html
好文
- 全网注释第二全的GO教程-接口(Interface),对于没学过java,难以理解接口的同学可以看看:https://juejin.cn/post/7257865921557086263
Go服务端框架
Gin
特点:资源丰富,规范统一,上手快
脚手架参考
为什么要用脚手架? Go语言框架本身的项目结构规范比较自由,其本身没有形成类似springboot的严格规范标准,在了解服务端框架的基本使用后,使用脚手架可以帮助建立起一套较规范的开发流程,提高代码质量,实现工程化
- Nunu: https://github.com/go-nunu/nunu (只是一个几百star的小项目,但持续在更新维护,笔者一开始接触的就是它,感觉还算比较舒服)
Beego
特点:面向Go编程语言的开源高性能web框架,比较重,由国人开发
Iris
特点:(号称)全宇宙最快的Go语言Web框架,完备MVC支持,拥抱未来
数据库映射
关系型数据库
GORM
视频教程: https://www.bilibili.com/video/BV1xg411t7RZ/
YAML初始化(一种配置方式): https://juejin.cn/post/7054977832543322119
非关系型数据库
Qmgo
由七牛云团队开发的mongodb driver
接口文档生成
go-swaggar是一个在Go语言中生成swaggar规范接口文档的工具
接口文档是前后端实现联调的重要渠道,这类工具可以提高接口文档的编写效率
- 仓库地址:https://github.com/swaggo/swag (有中文文档可以看一下)
- 简单实现:https://juejin.cn/post/7126802030944878600
实践Tips
中间件
- 基于token的用户验证:https://juejin.cn/post/7276396424526348303
- 操作日志生成:https://juejin.cn/post/6943503384729583652?share_token=9b52bee7-5cc1-4532-b34e-b9dc51d3b7e1
资料整理
- Go 语言优秀资源整理,为项目落地加速:https://github.com/shockerli/go-awesome
- Go 101知识库,熟练Go基本逻辑和语法的一本好书:https://gfw.go101.org/
- Go 周刊,每周推荐国内外高质量文章:https://github.com/polaris1119/golangweekly
本文不定时更新