前言

Golang 作为一门还在快速成长的编程语言,想要与时俱进,还得多看看这几个开源项目。

听说你想学习 Go 语言,那我就来总结一下:那些目前我所了解的优质 Golang 开源项目。

Go 自己

学习 Go 语言,可别忘记了 Go 本身是一门可以轻松构建简单,可靠和高效软件的开源编程语言

官网:The Go Programming Language

GitHub 地址:https://github.com/golang/go

Stars:103k

推荐理由:

  • 针对新手如果想学习 Go 语言,必不可少的需要下载 Go 安装包

  • 针对大佬,如果想研究源码,当然也需要来这下载源代码

Awesome Go

官网:A curated list of awesome Go frameworks, libraries and software - Awesome Go / Golang

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 开发框架、身份认证、持续集成、自动化构建等方面。

项目多是优点也是缺点,如果可以通过在实践中选择学习和使用效果可能更好。





Go 算法

学习完 Go 的基础语法,当然作为入门者肯定要学习一下算法与数据结构,这里也推荐两个比较合适的开源项目。

TheAlgorithms/Go

官网:The Algorithms

GitHub 地址:https://github.com/TheAlgorithms/Go

Stars:10.5k

推荐理由:一个是大名鼎鼎的 The Algorithms, 这个仓库由众多大佬参与的用各种语言实现经典的算法:比如:二分搜索、快速排序、动态规划和常见数据结构等,像其标语所说的:目前 Github 最大的开源算法库。本人之前写的几篇数据结构的文章都得从这里来看看,同样是链表,学习我写的和大佬实现的有何差异,一旦发现有所考虑不全,立马向大佬学习。目前用 go 已经实现了的算法可以点此处。

LeetCode-Go

官网:序 | LeetCode Cookbook

Github 地址:https://github.com/halfrost/LeetCode-Go

Stars:26.2k

推荐理由:如果想从事 Go 语言开发,一个无可避免的地方就是需要算法面试,那你一定不能错过这个开源项目。halfrost 大佬花了一年用 Go 语言刷题,最后总结出这套 1000 多道题的 LeetCode 题解与心得,并将此题解制作成一本开源电子书,一经推出,得到众多大佬的推荐。作者表示,书中所有的代码题解都是 beats 100%,可谓是一本制作精良,Go 刷题必备居家旅行之好书。可以点此处在线阅读。

Go 框架

Gin

官网地址:Gin Web Framework

Github 地址:GitHub - gin-gonic/gin: Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

Stars:61.8k

推荐理由:一款盛名远扬的 Go Web 开发框架。功能强大、快速灵活、性能高。笔者还在学习中,所以也道不出什么所以然。当时学它总没错。

Fiber

官网:Fiber

Github 地址:https://github.com/gofiber/fiber

Stars:21.4k

推荐理由:一个简单快速的 Go Web 框架。 Fiber 专注于极致性能和低内存占用。它的灵感来自流行的 Express JS 框架。

Go Zero

官网:go-zero

Github 地址:https://github.com/zeromicro/go-zero

Stars:19.8k

推荐理由:一款云原生微服务 RPC 框架,集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。

Iris

官网:Iris

Github 地址:https://github.com/kataras/iris

Stars:22.7k

推荐理由:据官网介绍,Iris 是最快的 HTTP/2 Go Web 框架,简单易学。跨平台、具有强大的功能集、能够有效构建高性能 Web 应用程序和可移植性 API 。

Beego

官网:Homepage - beego: simple & powerful Go app framework

Github 地址:GitHub - beego/beego: beego is an open-source, high-performance web framework for the Go programming language.

Stars:28.7k

推荐理由:国内一群大佬开发,文档全原生中文、上手简单。

Echo

官方地址:Echo - High performance, minimalist Go web framework

Github 地址:https://github.com/labstack/echo

Stars:23.1k

推荐理由:众多 Go Web 框架的一个,根据官网介绍,它有着高性能、可扩展性、极简的特点。

Go 项目

Project Layout

Github 地址:GitHub - golang-standards/project-layout: Standard Go Project Layout

Stars:33.7k

推荐理由:本开源项目提供了一个良好的项目组织架构,提供给 Go 开发者一个良好的应用程序项目的基本布局。它不是核心 Go 开发团队定义的官方标准;然而,它是 Go 生态系统中一组常见的老项目和新项目的布局模式。随着项目的增长,保持代码结构良好非常重要,否则你最终会得到一个凌乱的代码,这其中就包含大量隐藏的依赖项和全局状态。

总之,参与人员越多,项目结构越重要

GORM

官网:GORM - The fantastic ORM library for Golang, aims to be developer friendly.

Github 地址:GitHub - go-gorm/gorm: The fantastic ORM library for Golang, aims to be developer friendly

Stars:29.2k

推荐理由: 一款 Go 语言的 ORM 库,具有灵活的可扩展插件 API:Database Resolver(多数据库,读写分离)、Prometheus。记得有一个前辈跟我说过,为了简化操作开源使用 ORM,如果需要做到性能最优,还是得靠 DBA 写一些高效的 SQL 语句。

没有一项工具是可以一劳永逸的,但是我们学习还是值得的。不知其所以,怎么知其不可以。

Traefik

官网:Traefik Labs: Makes Networking Boring

Github 地址:GitHub - traefik/traefik: The Cloud Native Application Proxy

Stars:39.2k

推荐理由:一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。为了让系统好好上线,咱可得好好学吖。

V2ray Core

官网:https://www.v2fly.org/

Github 地址:https://github.com/v2fly/v2ray-core

Stars:17.5k

推荐理由: 无需多介绍,用得多的人应该都听过 V2Ray 客户端。

Rclone

官网:Rclone

Github 地址:https://github.com/rclone/rclone

Stars:34.1k

推荐理由:一个集成了各大云平台供应商云存储的接口的命令行程序,有效用于管理云存储上的文件,包括:Google Drive, S3, Dropbox, Backblaze B2, One Drive 等等。

Gitea

官网:Gitea

Github 地址:https://github.com/go-gitea/gitea

Stars:31.6k

推荐理由:一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写

GitHub CLI

官网:GitHub CLI | Take GitHub to the command line

Github 地址:https://github.com/cli/cli

Stars:29.4k

推荐理由:Github 官方用于构建命令行程序的库,实现了命令行与 GitHub 进行无缝的协同工作。

Clash

Github 地址:https://github.com/Dreamacro/clash

Stars:29.9k

推荐理由:Clash 是一个使用 Go 语言编写,基于规则的跨平台代理软件核心程序,支持 SS / VMess 协议,正在使用 Windows 版本。

Cobra

官网:Cobra. Dev

Github 地址:https://github.com/spf13/cobra

Stars:28k

推荐理由:也是一个优异的 CLI 框架,同样提供了简单的接口来创建命令行程序,众多优秀的项目中都使用到了 Cobra,如 Kubernetes、Hugo 和 Github CLI 等。

Data Science Masters

官网:The Open Source Data Science Masters by datasciencemasters

GitHub 地址:https://github.com/datasciencemasters/go

Stars:21.6k

推荐理由:如果你对数据科学领域感兴趣,本开源项目带你学习数据科学的开源课程。

Project Based Learning

Github 地址:https://github.com/practical-tutorials/project-based-learning#go

Stars:74.7k

推荐理由:这个仓库汇集了众多编程语言从零开始学的优质博客或者教程。作者也选取了几个优质的 Go 教程供大家学习,如果你也想学习除了 Go 语言之外的语言,可以看看这个仓库。

总结

Go 的开源优秀项目太多了。感兴趣的读者可以在 Github 的简单的一个搜索语法进行快速搜索,例如通过在搜索框中输入: go stars:>=20000

就能在全站中搜索标星超过 20 K 的项目,得获取到如下界面:

可以看到目前的搜索结果大概有 51 个仓库,本文自然没有全部列出。

比如还有一些名声大噪的项目如 Kubernetes、Docker、Hugo、CockroachDB 、etcd 以及以太坊官方 Go 实现 Ethereum 等都没有一一介绍了:一是篇幅有效,二是这些项目无需过多介绍,大家都会自行了解和学习。

开源项目千千万,对于我这种菜鸟来说,也很难有时间能把所有的项目摸透(大佬绕开),但是如果能吃透一个开源项目,甚至成为一个开源项目的贡献者,我想这条路一定是艰难但且有意义的。

Go 语言爱好者的你,赶紧挑一个本文中用得上的项目学起来用起来。

下期我将旁边一些 Go 优质的开源图书,敬请期待!

盘点 GitHub 那些标星超过 20 K 的 Golang 优质开源项目相关推荐

  1. 影响了一代代前端人的 20 个里程碑式的顶级开源项目!- 2006 - 2021

    大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 猫哥会在每周的周一给大家推荐一篇上周的 前端周趋势榜的 10 大项目,每月给大家推荐一篇上个月的 前端月趋势榜的 20 大项目,方便 ...

  2. GitHub 上都有哪些值得关注学习的 iOS 开源项目?

    GitHub 上都有哪些值得关注学习的 iOS 开源项目?修改 如果仅按照 GitHub 月流行查看 Objective-C 项目的话有 ── Trending Objective-C reposit ...

  3. GitHub 标星 32.7 k!一行命令下载全网视频,这个项目牛逼了!

    假期期间,小逛看到一个视频在朋友圈刷屏了,想必大家也都刷到了这个视频<后浪>.该视频是 bilibli 献给新一代的演讲,截至本文发布时,该视频已经有 1727.7w 播放,其它数据也是高 ...

  4. 高颜值 Markdown 编辑器(GitHub 标星 17.5 K)

    导语:大家好,我是朋哥,十年码农经验,对技术情有独钟. Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. Markdown 在文字 ...

  5. 他,TypeScript GitHub Star 上海第一,全国第四!GitHub 总标星超两万!

    前两天和老同学羡辙(Apache Echarts 核心开发.百度最美工程师)聊天.她分享了一个 GitHub 排名的网站给我. http://git-awards.com/users?type=cit ...

  6. 12306 抢票项目霸榜 GitHub,标星即将破万

    十一将至,你买到回家的火车票了吗?如果没有,你可以试着打开 GitHub,在搜索栏键入 12306 的关键词,我相信你会发现一个新大陆.没错,这里有 1572 个抢票项目.它们大多用 Python.J ...

  7. 重磅开源:标星超过 10k+ 的免费接口,API 的搬运工

    [公众号回复 "1024",免费领取程序员赚钱实操经验] 大家好,我是章鱼猫. 今天给大家推荐的开源项目,绝对是杠杠滴,为什么这么说呢? 很多程序员都想开发一个自己的软件,尤其是移 ...

  8. 重磅开源:标星超过 10k+ 的免费接口,API 的搬运工,真香!

    点击上方"Github中文社区",关注 看遍Github好玩的项目 第63期分享 作者:章鱼猫  来自:github黑板 大家好,我是huber! 由于微信公众号一天只能推送一次, ...

  9. Github 本周最热的 10 款「机器学习」开源项目 | PaperDaily #27

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

最新文章

  1. 为什么线粒体DNA突变率高?
  2. springboot打包发布
  3. n阶自相关matlab代码,随机信号及其自相关函数和功率谱密度的MATLAB实现.doc
  4. poj 3660 传递闭包 **
  5. mysql安装被打断_Mysql的安装/性能优化/安全加固
  6. android 媒体库扫描,如何扫描出Android系统媒体库中视频文件
  7. 学计算机的人都会CAD制图吗,CAD到底该如何学习?
  8. net 开发 【要学习】
  9. 页面中php传值后循环列表js获取点击的id
  10. 一些有趣的 CSS 魔法和布局(下)(结尾有岗位内推哦~)
  11. 把路由器改成无线网卡
  12. 怎么把m4a转换成mp3?
  13. hydra 破解ssh 163邮箱
  14. 兜兜转转 - 2019开启CSDN博客的新篇章
  15. [lougu]P2440 木材加工
  16. namespace什么意思
  17. 两周自制编程语言读书总结
  18. 网络号和主机号的计算
  19. Android UI个性style
  20. Oracle数据库常用语句使用记录

热门文章

  1. 《华尔街日报》遭黑客攻击 读者数据库被盗
  2. Speed up resilver
  3. 用标签打印软件在A4纸上批量打印条码标签
  4. C语言深度解剖 PDF 分享
  5. cad 文件 打印高清效果
  6. python环境下,XGBoost模型文件转pmml格式用于部署
  7. Codeforces Round #770 (Div. 2) Problem B.Fortune Telling
  8. Android常用控件,四大组件,intent应用
  9. android 心跳效果动画,Android 心跳动画
  10. 视频教程-2017年软上半年软考网络工程师级别考前冲刺之第三天-软考