├── README.md ├── golang ├── go.go ├── golang-developer-roadmap.md └── golang-knowledge-graph.md └── images ├── go-collection-logo-345x345.png ├── golang-Knowledge-Graph.png └── golang-developer-roadmap-zh-CN.png /README.md: -------------------------------------------------------------------------------- 1 | # Golang从入门到跑路 2 |

3 | 4 | 5 | 6 |

7 | 8 | [![gostudy](https://img.shields.io/badge/golang-study-orange)](https://github.com/jiujuan/go-collection#目录) 9 | [![GitHub stars](https://img.shields.io/github/stars/jiujuan/go-collection)](https://github.com/jiujuan/go-collection/stargazers) 10 | [![GitHub forks](https://img.shields.io/github/forks/jiujuan/go-collection)](https://github.com/jiujuan/go-collection/network/members) 11 | [![GitHub issues](https://img.shields.io/github/issues/jiujuan/go-collection)](https://github.com/jiujuan/go-collection/issues) 12 | 13 | 14 | > 收录的awesome-go项目,学习基础系列,go项目实战,go源码分析,go开发者成长路线图等等,把他们收集起来一起学习,相当于给写 Go 程序一个动手路线图。 15 | 16 | :speaker: 觉得对您学习golang有帮助,请给我点一个 Star! :star: 17 | 18 | > 我的公众号:**九卷技术录** 欢迎大家关注 19 | ![image](https://github.com/jiujuan/go-collection/assets/45460739/be3d1294-ede1-4282-8cdd-12a18160112d) 20 | 21 | 22 | > - 公众号一些文章: 23 | > - [九卷技术录-小公司需要微服务架构吗?](https://mp.weixin.qq.com/s/tCSjHNdKKoKV6Pu6CptK0w) 24 | > - [分层架构设计总结](https://mp.weixin.qq.com/s/eS___GK3n8GPe7d8sROKGw) 25 | 26 | > 一个优秀的 IMOOC 公开课CS资源收集整理:[优秀的公开课IMOOC资源收集整理](https://github.com/jiujuan/imooc-collection) 27 | 28 | 29 | :mega: :mega: :mega: 30 | 31 | - :pencil2: 如果有的链接失效了,可以给我发[issues](https://github.com/jiujuan/go-collection/issues),灰常感谢! 32 | 33 | - :memo: 如果您觉得有好的golang教程、源码分析文章、书籍等等,都可以给我发[issues](https://github.com/jiujuan/go-collection/issues),灰常感谢! 34 | - :star: 基础部分和项目实战部分一定要打开编辑器,**动手写代码**【**动手**】,要一个字母一个字母敲出来,这样练习才会对学习 Go 基础有一定效果! 35 | 36 | ## 目录 37 | 38 | - [awesome-go list](#awesome-go-list) 39 | - [awesome-go存储项目](#go存储项目) 40 | - [go基础学习系列](#go基础学习系列) 41 | - [go标准库](#go标准库) 42 | - [go项目实战](#go项目实战) 43 | - [go架构和源码分析](#go架构和源码分析) 44 | - [微服务](#微服务) 45 | - [nitro(原go-micro)](#nitro) 46 | - [go-kit](#go-kit) 47 | 48 | - [go-zero](#go-zero) 49 | - [kratos](#kratos) 50 | - [go-chassis](#go-chassis) 51 | - [Jupiter](#jupiter) 52 | - [TarsGo](#tarsgo) 53 | - [Stack-Labs](#Stack-Labs) 54 | 55 | - [odin](#odin) 56 | - [rpc](#rpc) 57 | - [Go书籍](#Go书籍) 58 | - [pprof](#pprof) 59 | - [Go编码规范](#Go编码规范) 60 | - [常见问题和错误](#常见问题和错误) 61 | - [Go日报周刊](#Go日报周刊) 62 | - [Go交流社区](#Go交流社区) 63 | - [其他](#其他) 64 | 65 | 66 | - [Go开发者成长路线图](./golang/golang-developer-roadmap.md) 67 | - [go社区知识图谱](./golang/golang-knowledge-graph.md) 68 | 69 | ## awesome-go list 70 | 71 | - [awesome-go 网站](https://awesome-go.com/) 收集很多go的项目,并进行了详细分类 72 | - [awesome-go github地址](https://github.com/avelino/awesome-Go) awesome-go.com的github源码地址 73 | - [awesome-go 中文翻译1](https://github.com/jobbole/awesome-go-cn) 74 | - [awesome-go 中文翻译2](https://github.com/yinggaozhen/awesome-go-cn) 75 | - [awesome-go 一个更精细化项目](https://github.com/hackstoic/golang-open-source-projects) awesome-go的一个精细化项目,介绍更详细。本项目作为awesome-go的一个扩展 76 | - [gopher reading list](https://github.com/enocom/gopher-reading-list) 77 | 78 | 79 | ## go存储项目 80 | 81 | - [awesome-go-storage](https://github.com/gostor/awesome-go-storage) 开源的Go存储项目 82 | - [开源存储项目相关速查表](https://www.ctolib.com/cheatsheets-awesome-go-storage.html) 根据右边目标可以快速查找 83 | 84 | 85 | 86 | ## go基础学习系列 87 | 88 | - [go语言快速入门](https://github.com/jaywcjlove/golang-tutorial) 89 | - [go tour](https://tour.golang.org/welcome/1) 90 | - [go tour 中文版](https://tour.go-zh.org/welcome/1) 91 | - [Go by Example](https://gobyexample.com/) 92 | - [Go基础编程-by无闻](https://github.com/Unknwon/go-fundamental-programming) 93 | - [Go语言实战笔记](https://github.com/rujews/go-in-action-notes) 94 | - [golang bootcamp](http://www.golangbootcamp.com/book) 95 | - [study Go programming language](https://tutorialedge.net/course/golang/) 96 | - [golang cheatsheet](https://github.com/a8m/golang-cheat-sheet) 97 | - [common mistakes in golang](http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/) go初学者经常犯的错误 98 | - [Learn Go with test-driven development](https://github.com/quii/learn-go-with-tests) 99 | - [gitbook版](https://quii.gitbook.io/learn-go-with-tests) 100 | - [中文版](https://studygolang.gitbook.io/learn-go-with-tests) 101 | - [golang program](http://www.golangprograms.com) 102 | - [golang 项目实战简明指南](http://litang.me/post/golang-project-guide/) 103 | - [go语言基础学习](https://www.bookstack.cn/read/golang_development_notes/2%E8%AF%AD%E8%A8%80%E5%9F%BA%E7%A1%80.md) 104 | - [go语言高级特性学习](https://www.bookstack.cn/read/golang_development_notes/ch9.md) 105 | - [go web开发教程](https://github.com/bonfy/go-mega) 106 | - [聚合多套golang教程](https://hackr.io/tutorials/learn-golang) 107 | - [go命令教程](https://github.com/hyper0x/go_command_tutorial) 108 | - [go exmaples](https://github.com/yakuter/go-interfaces) 109 | 110 | - [Go 综合学习demo](https://github.com/pibigstar/go-demo) 入门到进阶,基础库使用、设计模式、工具类、对接第三方等等 111 | 112 | 113 | ## go标准库 114 | - [golang pkg](https://golang.org/pkg/) 115 | - [中文版](http://cngolib.com/) 116 | - [go标准库学习](https://books.studygolang.com/The-Golang-Standard-Library-by-Example/) 117 | - [go语言标准包解析](https://syaning.github.io/go-pkgs/) 118 | 119 | ## go项目实战 120 | 121 | - [go小项目实战系列](https://www.jianshu.com/nb/40576814) 122 | - [gin框架实战系列](https://youngxhui.top/categories/gin/) 123 | - [github代码地址](https://github.com/youngxhui/GinHello) 124 | - [beego框架开发轻博客实战系列](https://www.jianshu.com/nb/27703855) 125 | - [golang爬虫视频课程](https://www.bilibili.com/video/av31551627/) 126 | - [go web开发例子](https://gowebexamples.com/) 127 | - [使用gin和gorm框架来构建 RESTful API 微服务 en](https://medium.com/@thedevsaddam/build-restful-api-service-in-golang-using-gin-gonic-framework-85b1a6e176f3) 128 | - [中文翻译版](https://learnku.com/golang/t/24598) 129 | - [go语言高级实战](https://github.com/Shitaibin/golang_step_by_step) 130 | - [go 语言论坛实战](https://xueyuanjun.com/post/21519) 131 | - [beego web应用开发](https://blog.csdn.net/u010986776/category_10520963.html) 132 | - [企业级的 Go 语言实战项目](https://github.com/marmotedu/iam) 133 | - [gin-vue 小项目](https://github.com/Bingjian-Zhu/gin-vue) 134 | 135 | 136 | ## go架构和源码分析 137 | 138 | - [雨痕Go语言学习笔记](https://github.com/qyuhen/book) 139 | - [go-under-the-hood--欧长坤](https://github.com/changkun/go-under-the-hood/) 140 | - [网站阅读版](https://changkun.de/golang/) 141 | - [Go 语言设计与实现 - 面向信仰编程](https://draveness.me/golang/) 142 | 143 | - [源码分析 1-曹大&柴大](https://github.com/cch123/golang-notes) 主要是源码分析,可能也会有一些使用上的知识点 144 | - [源码分析 2](https://github.com/xuesongbj/Go-Notes) go源码剖析 145 | - [源码分析 3](https://zhuanlan.zhihu.com/c_1010470599088594944) [二](https://zhuanlan.zhihu.com/golang-internal) 146 | - [golang数据结构内部实现](https://zhuanlan.zhihu.com/goroutine) 147 | - [从Questions学习Go](https://github.com/qcrao/Go-Questions/wiki) 148 | - 深度解密系列-码农桃花源: [slice](https://www.cnblogs.com/qcrao-2018/p/10631989.html)、[interface](https://www.cnblogs.com/qcrao-2018/p/10766091.html)、[reflection](https://www.cnblogs.com/qcrao-2018/p/10822655.html)、[map](https://www.cnblogs.com/qcrao-2018/p/10903807.html)、[context](https://www.cnblogs.com/qcrao-2018/p/11007503.html)、[unsafe](https://www.cnblogs.com/qcrao-2018/p/10964692.html)、[channel](https://www.cnblogs.com/qcrao-2018/p/11220651.html)、[scheduler](https://www.cnblogs.com/qcrao-2018/p/11442998.html)、[defer](https://www.cnblogs.com/qcrao-2018/p/10367346.html)、[memory](https://www.cnblogs.com/qcrao-2018/p/10520785.html)、[sync.Pool](https://www.cnblogs.com/qcrao-2018/p/12736031.html)、[sync.map](https://www.cnblogs.com/qcrao-2018/p/12833787.html) 149 | - 深度解析GPM系列-码农桃花源:[1. GPM 是什么](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/gpm-shi-shi-mo)、[2. 什么是 go schedule](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/shi-mo-shi-go-shceduler)、[3. 什么是 M:N 模型](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/shi-mo-shi-mn-mo-xing)、[4. 什么是 workstealing](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/shi-mo-shi-workstealing)、[5. Schedule 的初始化过程](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/miao-shu-scheduler-de-chu-shi-hua-guo-cheng)、[6. Schedule 循环如何启动](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/schedule-xun-huan-ru-he-qi-dong)、[7. Schedule 循环如何运转](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/schedule-xun-huan-ru-he-yun-zhuan)、[8. goroutine 和线程的区别](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/goroutine-he-xian-cheng-de-qu-bie)、[9. main goroutine 如何创建](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/mian-gorutine-ru-he-chuang-jian)、[10. g0 栈和用户栈如何切换](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/g0-zhan-he-yong-hu-zhan-ru-he-qie-huan)、[11. goroutine 调度时机有哪些](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/goroutine-tiao-du-shi-ji-you-na-xie)、[12. M 如何找工作](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/m-ru-he-zhao-gong-zuo)、[13. sysmon 后台监控线程做了什么](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/sysmon-hou-tai-jian-kong-xian-cheng-zuo-le-shi-mo)、[14. goroutine 如何退出](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/goroutine-ru-he-tui-chu)、[15. 一个调度相关的陷阱](https://qcrao91.gitbook.io/go/goroutine-tiao-du-qi/yi-ge-tiao-du-xiang-guan-de-xian-jing) 150 | 151 | - [go 程序是怎么跑起来的?](https://www.cnblogs.com/qcrao-2018/p/11124360.html) 152 | 153 | 154 | ## 微服务 155 | 156 | ## nitro 157 | > 原 go-micro 项目变更为 asim 的个人项目,名字改为 [nitro](https://github.com/asim/nitro)。 158 | 159 | - [nitro(原go-micro)](https://github.com/asim/nitro) 160 | - [nitro site](https://gonitro.dev/) 161 | 162 | - [micro](https://github.com/micro/micro) 163 | - [Learn Micro by examples](https://github.com/micro/examples) 164 | - [microhq](https://medium.com/microhq) 165 | 166 | ## go-kit 167 | 168 | - [go-kit](https://github.com/go-kit/kit) 169 | - [go-kit系列教程](https://juejin.im/post/5c861c93f265da2de7138615) 170 | - [go-kit与grpc结合开发微服务](http://www.articlechain.cn/post/46.html) 171 | 172 | ## go-zero 173 | - [go-zero github](https://github.com/zeromicro/go-zero) 174 | - [go-zero doc文档](https://go-zero.dev/cn/) 175 | 176 | ## kratos 177 | - [kratos](https://github.com/go-kratos/kratos) bilibili开源的一套微服务框架 178 | - [go-kratos](https://github.com/go-kratos) 179 | - [kratos 官网](https://go-kratos.dev/) 180 | - [kratos doc文档](https://go-kratos.dev/docs/) 181 | 182 | ## go-chassis 183 | - [go-chassis](https://github.com/go-chassis/go-chassis) 184 | - [go-chassis doc](https://go-chassis.readthedocs.io/en/latest/) 185 | 186 | ## Jupiter 187 | - [Jupiter](https://github.com/douyu/jupiter) 斗鱼开源的面向服务治理的Golang微服务框架 188 | - [官网](http://jupiter.douyu.com/) 189 | 190 | ## TarsGo 191 | - [TarsGo](https://github.com/TarsCloud/TarsGo) TarsGo go的微服务框架 192 | - [TarsCloud](https://github.com/TarsCloud) 193 | - [tarscloud官网](https://tarscloud.org/) tarscloud 官网 194 | - [TarsFramework](https://github.com/TarsCloud/TarsFramework) 195 | 196 | ## Stack-Labs 197 | > 由于 go-micro 停更,中国团队基于 go-micro 1.18修改,开发了第一版 stack-rpc。该项目于 2020 年 11 月 2 日正式成立。[github](https://github.com/stack-labs/stack-rpc) 198 | 199 | - [Stack Labs](https://github.com/stack-labs) 200 | - [stack-rpc](https://github.com/stack-labs/stack-rpc) 201 | - [Micro-blog](https://medium.com/microhq) 202 | 203 | - [Stack Labs site](https://microhq.cn/index-cn) 204 | - [stack-rpc-tutorials](https://github.com/stack-labs/stack-rpc-tutorials) 205 | - [stack-rpc Docs](https://microhq.cn/docs/micro/introduce-cn) 206 | 207 | ## gizmo 208 | - [gizmo](https://github.com/nytimes/gizmo) nytimes 209 | ## odin 210 | - [odin](https://github.com/tal-tech/odin) 211 | - [doc](https://www.yuque.com/tal-tech/odin/readme) 212 | 213 | ## rpc 214 | - [gRPC-go](https://github.com/grpc/grpc-go) 215 | - [grpc](https://github.com/grpc/) 216 | - [rpcx](https://github.com/smallnest/rpcx) 217 | - [website](https://rpcx.io/) 218 | 219 | ## Go开源书籍 220 | - [go books集合](https://github.com/dariubs/GoBooks) 221 | - [the way to go 中文版](https://github.com/Unknwon/the-way-to-go_ZH_CN) 222 | - [看云版](https://www.kancloud.cn/kancloud/the-way-to-go/72432) 223 | - [gopl 中文版](https://books.studygolang.com/gopl-zh/) go语言圣经 224 | - [Mastering Go 中文版](https://github.com/hantmac/Mastering_Go_ZH_CN) 225 | - [gitbook版](https://wskdsgcf.gitbook.io/mastering-go-zh-cn/) 226 | - [Go语言高级编程](https://github.com/chai2010/advanced-go-programming-book/blob/master/SUMMARY.md) 227 | - [Go Web编程](https://github.com/astaxie/build-web-application-with-golang) 228 | - [go实战开发](https://github.com/astaxie/go-best-practice) 229 | - [go语言42章经](https://github.com/ffhelicopter/Go42) 230 | - [go101](https://go101.org/article/101.html) 231 | - [go101 github](https://github.com/go101/go101) 232 | - [中文版](https://github.com/golang101/golang101) 233 | - [go专家编程](https://github.com/RainbowMango/GoExpertProgramming) 234 | - [go under the hood](https://github.com/changkun/go-under-the-hood) 235 | - [Go-Mega](https://go-mega.bonfy.im/) 236 | 237 | ## pprof 238 | - [go-profiler-notes(DataDog)](https://github.com/DataDog/go-profiler-notes) 239 | - [diagnostics](https://golang.org/doc/diagnostics) 240 | 241 | ## Go编码规范 242 | - [the uber go style guide](https://github.com/uber-go/guide) uber go style guide 243 | - [awesome-go-style](https://github.com/dgryski/awesome-go-style) awesome go style 244 | 245 | ## 常见问题和错误 246 | 247 | - [Go 语言中通道死锁经典错误案例详解](https://segmentfault.com/a/1190000022820306) 248 | - [Go 项目开发里最常犯的 10 个错误](https://learnku.com/articles/38669) 249 | - [Go新手可能会踩的50个坑](http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/) 250 | - [翻译版](https://segmentfault.com/a/1190000013739000) 251 | 252 | ## Go日报周刊 253 | - [gocn每日新闻 一](https://github.com/gocn/news) 254 | - [go news 二](https://github.com/Han-Ya-Jun/gocn_news_set) 255 | - [go技术日报](https://studygolang.com/go/godaily) 256 | - [gopherdaily](https://github.com/bigwhite/gopherdaily) 257 | - [go语言爱好者周刊](https://github.com/polaris1119/golangweekly) 258 | - [golang weekly](https://www.golangweekly.com/) 259 | 260 | ## Go交流社区 261 | - [Go issues](https://github.com/golang/go/issues) 262 | - [GoCN社区](https://gocn.vip/) 263 | - [Go语言中文网](https://studygolang.com/) 264 | - [Golang中国](https://www.golangtc.com/) 265 | - [Go Forum](https://forum.golangbridge.org/) 266 | - [stackoverflow go](https://stackoverflow.com/collectives/go) 267 | - [Golang News](http://golangnews.com/) 268 | 269 | ## 其他 270 | 271 | - [go官网](https://go.dev/) 272 | - [golang doc](https://golang.org/doc/) 273 | - [go工具链](https://www.alexedwards.net/blog/an-overview-of-go-tooling) 274 | - [go官方语言编码规范](https://github.com/golang/go/wiki/CodeReviewComments) 275 | - [无闻的go语言编码规范](https://github.com/Unknwon/go-code-convention/blob/master/zh-CN/README.md) 276 | - [high performance go workshop-by dave](https://dave.cheney.net/high-performance-go-workshop/dotgo-paris.html) 277 | - [go性能优化](https://github.com/dgryski/go-perfbook) 278 | - [中文版](https://github.com/dgryski/go-perfbook/blob/master/performance-zh.md) 279 | - [编写可维护 Go 语言代码建议](https://github.com/llitfkitfk/go-best-practice) 280 | - [go各种自学资料总结](https://github.com/overnote/golang) 281 | - [Go夜读](https://github.com/talkgo/night) 282 | - [Go开发关键技术指南](https://github.com/ossrs/srs/wiki/GoDevGuide) 283 | - [go每日一库](https://github.com/darjun/go-daily-lib) 284 | - [go-advice](https://github.com/cristaloleg/go-advice) 285 | 286 | - [golang-design](https://github.com/golang-design) changkun 大大最新开源的golang相关项目 287 | - [golang-design site](https://golang.design/) 288 | 289 | - [topgoer地鼠文档](https://www.topgoer.com/) 一个很全的 Go 学习系列 290 | - [topgoer地鼠文档2](https://www.topgoer.cn/) 各种Go相关学习资料 291 | 292 | - [List of Golang books](https://github.com/dariubs/GoBooks) 293 | 294 | - [Golang 导航](https://hao.studygolang.com/) 295 | 296 | - [Go 分布式事务框架 dtm](https://github.com/dtm-labs/dtm) 297 | 298 | - [测试工具 k6](https://github.com/grafana/k6) 299 | 300 | - [GoCN Translator Team 翻译的文章](https://github.com/gocn/translator) 301 | - [GCTT](https://github.com/studygolang/gctt) 302 | 303 | - [Go-stack tech-stack](https://github.com/g-airport/tech-stack) 304 | 305 | - [Go wiki](https://github.com/golang/go/wiki) 306 | 307 | - [GO 1.20 新功能:多重错误包装](https://mp.weixin.qq.com/s/mCdvLwyZSqPNt-jb8Fbh8Q) 308 | 309 | [返回目录](#目录) 310 | -------------------------------------------------------------------------------- /golang/go.go: -------------------------------------------------------------------------------- 1 | // You can edit this code! 2 | // Click here and start typing. 3 | // https://golang.org/ 4 | // https://blog.golang.org/ 5 | package main 6 | 7 | import "fmt" 8 | 9 | func main() { 10 | fmt.Println("Hello, 世界") 11 | } -------------------------------------------------------------------------------- /golang/golang-developer-roadmap.md: -------------------------------------------------------------------------------- 1 | > Go 开发者成长路线图,指导Go开发者学习 2 | 3 | 4 | 5 | - [Go 开发者成长路线图 原版](https://github.com/Alikhll/golang-developer-roadmap) 6 | 7 | - [Go 开发者成长路线图 中文版](https://github.com/Alikhll/golang-developer-roadmap/blob/master/i18n/ReadMe-zh-CN.md) 8 | 9 | 10 | 11 | ![2019 Go 开发者成长路线图](../images/golang-developer-roadmap-zh-CN.png) 12 | -------------------------------------------------------------------------------- /golang/golang-knowledge-graph.md: -------------------------------------------------------------------------------- 1 | > Go社区的知识图谱,Knowledge Graph - from: gocn.vip(go中国)出品 - 不过好长时间没更新了 2 | 3 | - [Go知识图谱](https://github.com/gocn/knowledge) 4 | - [在线查看地址 processon地址](https://www.processon.com/view/link/5a9ba4c8e4b0a9d22eb3bdf0) 5 | 6 | 7 | 8 | ![](../images/golang-Knowledge-Graph.png) 9 | -------------------------------------------------------------------------------- /images/go-collection-logo-345x345.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiujuan/go-collection/dd4f256fcf234d627681ffcaf1fce1be85177858/images/go-collection-logo-345x345.png -------------------------------------------------------------------------------- /images/golang-Knowledge-Graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiujuan/go-collection/dd4f256fcf234d627681ffcaf1fce1be85177858/images/golang-Knowledge-Graph.png -------------------------------------------------------------------------------- /images/golang-developer-roadmap-zh-CN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiujuan/go-collection/dd4f256fcf234d627681ffcaf1fce1be85177858/images/golang-developer-roadmap-zh-CN.png --------------------------------------------------------------------------------