入门文档
- 新手教程:Go 语言教程
- 深度教程:Go 语言设计与实现(作者很牛,教程一般)
- Go设计理念:Go 语言设计哲学
- 各种资料:地鼠文档
推荐书籍
- 《Go语言趣学指南》
- 《Go语言设计与实现》(不推荐)
- 《Go程序设计语言》(推荐,go语言圣经)
- 《Go Web编程》
- 《Go语言高级编程》
- 《Go语言底层原理剖析》
Web开发
开发框架:
- Gin:https://github.com/gin-gonic/gi:
- Beego:https://github.com/beego/beego
- lris:https://github.com/kataras/iris
- Echo:https://github.com/labstack/ech
- GoFrame:https://github.com/gogf/gf
数据库:Mysql,Redis,MongoDB,ElasticSearch
ORM:Gorm
日志:Zap,Jaeger
消息队列:Kafka、RocketMQ、RabbitMQ
微服务:Go-Zero,Kratos
RPC:gRPC
练手项目
- 简单编码示例:Go by Example(推荐)
- id-maker:https://github.com/yongxinz/id-maker:分布式唯一 ID 生成系统,通过这个项目可以学习到 httpServer,gRPC 相关知识。
- cache2go:https://github.com/muesli/cache2go:比较简单的一个缓存库,通过这个项目可以学习到锁、goroutine 等知识。
- rosedb: https://github.com/flower-corp/:稳定、高性能、快速、内嵌的 k-v 存储引擎,支持多种数据结构,包含 String、List、Hash、Set、Sorted Set,接口名称风格和 Redis 类似。
- wechat-go:https://github.com/songtianyi/wechat-go:这是微信Web 版 API 的 Go 语言实现,模拟微信网页版的登录/联系人/消息收发等功能,可以完全接管微信收到的消息,并定制自己的发送内容。
- gin-vue-admin:https://github.com/flipped-aurora/gin-vue-admin:使用 gin + vue 进行极速开发的全栈后台管理系统,后台使用 gin 框架,前端主要使用 vue。(gorm + redis)
- Go Web项目实践:Go 语言编程之旅:Web,RPC,WebSocket,缓存,性能(推荐)
容器化开发
- Docker
- Kubernetes
微服务
- Go-Zero
- gRCP
- Go Web项目实践:Go 语言编程之旅:Web,RPC,WebSocket,缓存,性能