开源一夏 | 盘点那些 Golang 标星超过 20 K 的优质项目
前言
Golang 作为一门还在快速成长的编程语言,想要与时俱进,还得多看看这几个开源项目。
可以在 Github 的简单的一个搜索语法进行快速搜索,比如通过 go stars:>=20000
在全站中搜索标星超过 20 K 的项目:
可以看到目前的搜索结果大概有 51 个仓库,这里就不一一列出。听说你想学习 Go 语言,那我就来总结一下:那些目前我所了解的优质 Golang 开源项目。
Go 自己
学习 Go 语言,可别忘记了 Go 本身是一门可以轻松构建简单,可靠和高效软件的开源编程语言。
GitHub 地址:https://github.com/golang/go
Stars:103k
推荐理由:
针对新手,如果想学习 Go 语言,必不可少的需要下载 Go 安装包
针对大佬,如果想研究源码,当然也需要来这下载源代码
Awesome Go
Github 地址:https://github.com/avelino/awesome-go
Stars:85.5k
推荐理由:互联网搬运工的工作,还得看 Awesome 系列,懂得都懂!
An awesome list is a list of awesome things curated by the community.
本开源项目涵盖众多项目,包括但不限于数据库、游戏开发、区块链、Web 开发框架、身份认证、持续集成、自动化构建等方面。
项目多是优点也是缺点,如果可以通过在实践中选择学习和使用效果可能更好。
Project Based Learning
Github 地址:https://github.com/practical-tutorials/project-based-learning#go
Stars:74.7k
推荐理由:这个仓库汇集了众多编程语言从零开始学的优质博客或者教程。作者也选取了几个优质的 Go 教程供大家学习,如果你也想学习除了 Go 语言之外的语言,可以看看这个仓库。
Go 算法
学习完 Go 的基础语法,当然作为入门者肯定要学习一下算法与数据结构,这里也推荐两个比较合适的开源项目。
TheAlgorithms/Go
官网:https://the-algorithms.com/
GitHub 地址:https://github.com/TheAlgorithms/Go
Stars:10.5k
推荐理由:一个是大名鼎鼎的 The Algorithms, 这个仓库由众多大佬参与的用各种语言实现经典的算法:比如:二分搜索、快速排序、动态规划和常见数据结构等,像其标语所说的:目前 Github 最大的开源算法库。本人之前写的几篇数据结构的文章都得从这里来看看,同样是链表,学习我写的和大佬实现的有何差异,一旦发现有所考虑不全,立马向大佬学习。目前用 go 已经实现了的算法可以点此处。
LeetCode-Go
官网:https://books.halfrost.com/leetcode/
Github 地址:https://github.com/halfrost/LeetCode-Go
Stars:26.2k
推荐理由:如果想从事 Go 语言开发,一个无可避免的地方就是需要算法面试,那你一定不能错过这个开源项目。halfrost 大佬花了一年用 Go 语言刷题,最后总结出这套 1000 多道题的 LeetCode 题解与心得,并将此题解制作成一本开源电子书,一经推出,得到众多大佬的推荐。作者表示,书中所有的代码题解都是 beats 100%,可谓是一本制作精良,Go 刷题必备居家旅行之好书。可以点此处在线阅读。
Go 框架
Gin
Github 地址:https://github.com/gin-gonic/gin
Stars:61.8k
推荐理由:一款盛名远扬的 Go Web 开发框架。功能强大、快速灵活、性能高。笔者还在学习中,所以也道不出什么所以然。当时学它总没错。
Fiber
Github 地址:https://github.com/gofiber/fiber
Stars:21.4k
推荐理由:一个简单快速的 Go Web 框架。 Fiber 专注于极致性能和低内存占用。它的灵感来自流行的 Express JS 框架。
Go Zero
Github 地址:https://github.com/zeromicro/go-zero
Stars:19.8k
推荐理由:一款云原生微服务 RPC 框架,集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。
Iris
Github 地址:https://github.com/kataras/iris
Stars:19.8k
推荐理由:据官网介绍,Iris 是最快的 HTTP/2 Go Web 框架,简单易学。跨平台、具有强大的功能集、能够有效构建高性能 Web 应用程序和可移植性 API 。
Go 项目
Project Layout
Github 地址:https://github.com/golang-standards/project-layout
Stars:33.7k
GORM
Github 地址:https://github.com/go-gorm/gorm
Stars:29.2k
推荐理由:本开源项目提供了一个良好的项目组织架构,提供给 Go 开发者一个良好的应用程序项目的基本布局。它不是核心 Go 开发团队定义的官方标准;
然而,它是 Go 生态系统中一组常见的老项目和新项目的布局模式。随着项目的增长,保持代码结构良好非常重要,否则你最终会得到一个凌乱的代码,这其中就包含大量隐藏的依赖项和全局状态。
参与人员越多,项目结构越重要。
Traefik
Github 地址:https://github.com/traefik/traefik
Stars:39.2k
V2ray Core
Github 地址:https://github.com/v2fly/v2ray-core
Stars:17.5k
推荐:
Rclone
Github 地址:https://github.com/rclone/rclone
Stars:34.1k
推荐:
Gitea
Github 地址:https://github.com/go-gitea/gitea
Stars:31.6k
推荐:
GitHub CLI
Github 地址:https://github.com/cli/cli
Stars:29.4k
Clash
Github 地址:https://github.com/Dreamacro/clash
Stars:29.9k
Cobra
Github 地址:https://github.com/spf13/cobra
Stars:28k
Act
Github 地址:https://github.com/nektos/act
Stars:26.7k
总结
Go 的开源优秀项目太多了。
Kubernetes、Docker、Hugo、CockroachDB 、以太坊官方 Go 实现 Ethereum
版权声明: 本文为 InfoQ 作者【宇宙之一粟】的原创文章。
原文链接:【http://xie.infoq.cn/article/95a36d9d50bc024850a6dcb4e】。文章转载请联系作者。
评论