
—— 未来服务器端编程语言
Go官网下载地址:https://golang.org/dl/
Go官方镜像站(推荐):https://golang.google.cn/dl/

Step 1:了解源代码目录结构


Step 2:Golang开发后台掌握哪些知识点?
这里我给大家整理归纳为四大块,分别是语法、中间件、后端开发、云原生。
我们通过这个四个板块的学习,逐步进阶成一个可以从事后端服务器开发的工程师。

下面我们简单介绍中间件和云原生:
中间件
MySQL、Redis、MongoDB、Kafka这些常见的中间件,这里我们不做赘述。我们着重简述下Gin、etcd、ElasticSearch、gRPC。
云原生
- 微服务
微服务是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关的API集相互通信。 - DevOps
DevOps是一种重视“软件开发人员”和“IT运维技术人员”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 - 持续部署
持续部署,是一种软件工程方法,意指在软件开发流程中,以自动化方式,频繁而且持续性的,将软件部署到生产环境中,使软件产品能够快速的发展。 持续部署可以整合到持续整合与持续交付(Continuous delivery)的流程之中。 - 容器化
容器化是软件开发的一种方法,通过该方法可将应用程序或服务、其依赖项及其配置(抽象化为部署清单文件)一起打包为容器映像。 容器化应用程序可以作为一个单元进行测试,并可以作为容器映像实例部署到主机操作系统 (OS)。
Step 3:如何高效地学习Go?
想要高效地的学习Golang,单单知道学习哪几个板块,是远远不够的。我们还需要将每个板块的知识点进一步细化。
——成功与失败之间,最重要的是不容忽视的细节
那么开始进一步完善之前的知识点:

语法
- 语法基础
- 错误处理
- 包定义以及导入
- 结构体
- 反射原理
- 值传递、引用传递、defer函数
- 并发编程
- goroutine
- 锁
- 通道channel
- runtime包
- Context使用原则
- 网络编程
- tcp/udp编程
- http实现
- websocket
- 源码掌握
- GC机制
- 调度器
- 定时器
- map与切片
- 第三方测试框架
- goconvey
- gostub
- gomock
- monkey

中间件
- MySQL
- golang的CRUD
- jmorion/sqlx包
- 连接池
- 异步mysql
- Gin
- RESTful API
- URL查询参数
- query接收数组和Map
- 表单参数
- 上传文件
- 分组路由routel以及中间件授权
- json、struct、xml、yaml、protobuf渲染
- Redis
- go-redis
- get/set/zset操作
- 连接池
- 分布式锁
- MongoDB
- MongoDB-driver
- BSON解析
- CRUD操作
- 文档管理
- 连接池
- Kafka
- saram包
- 同步、异步
- zstd压缩算法
- 横向扩展
- go实现生产消费者
- topic和partition
- 消息分发策略
- 分区副本机制
- etcd
- 原理
- 分布式锁
- etcd操作
- 服务发现于注册
- ElasticSearch
- es服务器
- go- elasticsearch包
- node于cluster
- Index于Document
- 检测与配置
- gRPC
- protoc-gen-go开发包
- .proto文件
- gRPC Service Stub
- rpc接口设计
- 通信模式
- 拦截器
- 多路复用
- 负载均衡
- 安全认证

后端开发
- 游戏后端
- leaf框架
- 网关、协议、日志、网络模块
- 流媒体Web后端
- Restful接口设计
- scheduler设计
- apidefs结构体
- mysql建库建表
- 小程序后端
- 公众号开发流程
- 微信消息接收与解析
- 公众号验证URL+Token
- 内网环境接口测试
- 后端程序测试脚本
- goadmin后台权限管理系统
- RESTful API设计
- Gin框架
- JWT认证
- 支持Swagger文档
- GORM对象关系映射
- 基于Casbin的RBAC访问控制模型
- goim千万级高并发推送服务
- 单个、多个、广播消息推送
- 应用心跳、tcp、keepalive、http log pulling
- 异步消息推送
- 接入层多协议
- 可拓扑架构
- 注册发现服务
- 消息协议(protobuf)
- goim推送
- grpc编程
- 腾讯云大数据
- TBDS
- 云数据仓库PostgreSQL
- 弹性MapReduce
- WeData数据开发平台

云原生
- 微服务
- go-micro原理
- rpc
- 服务间同步
- json/protobuf
- DevOps
- 项目管理 CODING-PM
- 测试管理 CODING-TM
- 制品库 CODING-AR
- 代码托管 CODING-CR
- 持续部署
- spinnake
- webhook外部对接
- 蓝绿分布/金丝雀发布
- SCF云函数
- 快速回滚
- 容器化
- Docker化部署
- k8s集群
- CVM云服务器
- TKE容器服务
资料包

书籍
入门
《Go语言趣学指南》
《Go语言从入门到进阶实战》
进阶
《Go语言高并发与微服务实战》
文章
视频

开源项目(段位纯属分类管理,不分先后)

更多资源内容: