学习 Go 语言,有哪些优质的开源项目?

必须推荐这18个golang开源项目,从新手到进阶该有的都有!

建议收藏!!!

1、Annie

https://github.com/iawia002/annie

Go 编写的下载快速、使用简单、程序纯净的视频下载工具。支持哔哩哔哩、YouTube 等视频网站。可作为前段时间被封禁:youtube-dl 的替代品(目前已重新上架),它真的很强大!先感受下 annie 带来的便利,可能就有兴趣去探究它的源码啦。

2、7days-golang

https://github.com/geektutu/7days-golang

7天用Go动手写/从零实现系列 。用 Go 分别写一个:Web 框架、分布式缓存、ORM 框架、RPC 框架的实战教程。

在这里插入图片描述

3、the-way-to-go_ZH_CN

https://github.com/unknwon/the-way-to-go_ZH_CN

在这里插入图片描述

《The Way to Go》中文译本,中文正式名《Go 入门指南》

尽管该书对目前 Go 语言版本来说有小部分内容相对过时,但是为当下不可多得的好书,相关内容已获得作者同意根据当前 Go 语言版本进行修改而不作出特别声明。

该翻译版本已获得原作者(Ivo Balbaert)本人授权,并表示支持开源事业的发展!

4、starcharts

https://github.com/caarlos0/starcharts

在这里插入图片描述

这个项目是通过可视化的方式展示 GitHub 上 star 的增长曲线,也就生成是“星图”。

推荐这个项目主要是运行简单和直观的数据可视化,可以快速地感受到 Go 开源项目带来的便利。

在这里插入图片描述

5、tinode

https://github.com/tinode/chat

这是一个开源的即时通讯软件,既然是即时通讯软件,学习的时候基本上无任何业务负担,可以专注地学习程序逻辑本身。

android如图所示:

在这里插入图片描述

iOS如图所示:

在这里插入图片描述

6、jupter

https://github.com/douyu/jupiter

在这里插入图片描述

Jupiter是斗鱼开源的面向服务治理的Golang微服务框架。

通过这个项目,你可以学习到如何使用 Go 开发:

  • 支持 HTTP 请求
  • 支持 RPC 请求、RPC 实现
  • 服务注册与发现
  • 长短任务设计
  • 负载均衡
  • 指标采集/链路追踪/日志埋点
  • 慢响应拦截
  • 熔断限流
  • 接入各种消息中间件(如 Kafka、RocketMQ 等)
  • 接入各种缓存服务(如 Redis)
  • 其他功能

7、dtm

https://github.com/dtm-labs/dtm

简洁的一个分布式事务开源项目,6行go代码能够接入一个分布式事务。核心代码不到两千行,是微服务拆分事务的必备利器。

通过这个小而美的项目,你可以学习到go开发中:

  • 如何开发HTTP服务
  • 自动测试:高覆盖率保证健壮性
  • 设计模式:优雅支持go-zero等框架
  • 日志技巧
  • 数据库技巧
  • 分布式系统
  • 其他技巧

8、go-admin

https://github.com/go-admin-team/go-admin

基于Gin + Vue + Element UI的前后端分离权限管理系统脚手架(包含了:多租户的支持,基础用户管理功能,jwt鉴权,代码生成器,RBAC资源控制,表单构建,定时任务等)3分钟构建自己的中后台项目;

文档:https://doc.go-admin.dev

Demo:https://www.go-admin.dev

Antd beta版本:https://preview.go-admin.dev

在这里插入图片描述

简单快捷:

基于Gin的权限管理系统 易读易懂、界面简洁美观,提供前端Vue、后端Gin完全分离的权限管理系统,5分钟既可以实现一个应用

技术栈:

使用 gin/vue/react 等技术开发 合理的框架选择,良好的工程实践助你持续产出高质量代码 基于Casbin的 RBAC 访问控制模型

代码生成:

在线配置表信息生成对应的代码,增删改查/排序/导出/权限控制等直接使用。

9、sharingan

https://github.com/didi/sharingan

在这里插入图片描述

Sharingan(写轮眼)是一个基于golang的流量录制回放工具,适合项目重构、回归测试等。

随着微服务架构的兴起,服务之间的依赖关系变的越来越复杂,软件测试也面临新的挑战:系统升级频繁、服务依赖众多等等。

  • 常见的测试方案(如:单元测试、系统测试等)构造和维护测试用例成本高,特别是业务复杂的场景。「构造测试数据难」
  • 依赖第三方服务众多,线下测试环境不太稳定,经常出现下游服务不可用导致测试失败的情况发生。「维护测试环境成本高」

为此,我们需要开发一套工具来缓解上述问题。

整体架构图:

在这里插入图片描述

10、Cloudreve

https://github.com/cloudreve/Cloudreve

在这里插入图片描述

特性:

  • ☁️ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
  • 上传/下载 支持客户端直传,支持下载限速
  • 可对接 Aria2 离线下载,可使用多个从机机点分担下载任务
  • 在线 压缩/解压缩、多文件打包下载
  • 覆盖全部存储策略的 WebDAV 协议支持
  • 拖拽上传、目录上传、流式上传处理
  • ️ 文件拖拽管理
  • ‍ ‍ 多用户、用户组
  • 创建文件、目录的分享链接,可设定自动过期
  • ️‍ ️ 视频、图像、音频、文本、Office 文档在线预览
  • 自定义配色、黑暗模式、PWA 应用、全站单页应用
  • All-In-One 打包,开箱即用

11、beego

https://github.com/astaxie/beego

面向Go编程语言的开源高性能web框架

12、buffalo

https://github.com/gobuffalo/buffalo

使用Go语言快速构建Web应用

应用程序架构图:

在这里插入图片描述

13、gin-vue-admin

https://github.com/flipped-aurora/gin-vue-admin

基于vite+vue3+gin搭建的开发基础平台(已完成setup语法糖版本),集成jwt鉴权,权限管理,动态路由,显隐可控组件,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器等开发必备功能,五分钟一套CURD前后端代码。

项目截图:

在这里插入图片描述

系统架构图:

在这里插入图片描述

14、rosedb

https://github.com/flower-corp/rosedb

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NzS6OEtO-1661336650438)(v2-d551c07293f2aa5a1242a999018b0163_720w.jpg)]

手写的一个简单的数据库。

项目使用纯 Golang 实现,Go 语言的绝大部分基础知识点都包含了,相信一定是学习和巩固 Golang 的很不错的项目;

除此之外,代码中还有一些数据结构的实现,所以同时也能学习一下数据结构的知识。

15、wblog

https://github.com/wangsongyan/wblog

基于gin+gorm开发的个人博客项目

项目结构:

-wblog
    |-conf 配置文件目录
    |-controllers 控制器目录
    |-helpders 公共方法目录
    |-models 数据库访问目录
    |-static 静态资源目录
        |-css css文件目录
        |-images 图片目录
        |-js js文件目录
        |-libs js类库
    |-system 系统配置文件加载目录
    |-tests 测试目录
    |-vendor 项目依赖其他开源项目目录
    |-views 模板文件目录
    |-main.go 程序执行入口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CVd0FFeP-1661336650439)(v2-1e8e48cc84300399460f5ce474a0e556_720w.jpg)]

16、docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源

官网地址:https://www.docker.com/

17、Kubernetes

也称为K8s,是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。

官方地址:https://kubernetes.io/

18、awesome-go

https://github.com/avelino/awesome-go

顾名思义,关于go语言的开源项目,awesome应有尽有!

如果你有好的golang开源项目,欢迎推荐!

整理自:https://www.zhihu.com/question/478271918/answer/2544900683(侵删)

  • 14
    点赞
  • 220
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值