golang开发类库推荐

gin

  • star:74.6k

  • 地址:https://github.com/gin-gonic/gin

  • gin是最受开发者欢迎的 Web 框架,它有诸多的优点,性能高、轻量级和简洁的 API 设计,社区活跃度高,灵活、可扩展性强。当然了,最最主要的就是性能非常高,能够处理大量的并发请求。是web框架的不二之选。

  • 使用体验:我们新的项目都是使用gin框架,优点很明显,高性能、轻量、灵活;缺点就是太灵活了,就缺少了很多模块,比如ORM模块、MySQL模块、Redis模块等,对初学者来说还是有一定门槛的,想直接拿着gin撸一个项目出来还是有一定难度。

gorm

  • star:35k

  • 地址:https://github.com/go-gorm/gorm

  • gorm是Go语言中最受欢迎的ORM(Object-Relational Mapping)框架,它提供了强大的功能和简洁的 API,让数据库操作变得更加简单和易维护,避免了手写SQL语句的麻烦。

  • 使用体验:GO的orm使用的种类不多,只使用过gorm和beego的orm,使用感受上没有太大的区别。

beego

  • star:30.7k

  • 地址:https://github.com/beego/beego

  • Beego是一个开源的web框架,被广泛应用与Go语言的 web应用程序 的开发。它支持路由控制、配置管理、Session管理、日志、ORM等各种功能。它的核心设计是简单、易于学习和开发。

  • 使用体验:beego是我们使用最多的框架,当时大多数同学都是从PHP转过来的,几乎没任何门槛,就是按照PHP的方式编写代码,只不过把语言换了一下,集成的模块比较多,配置文件解析、LOG、ORM、session等等,看它的文档很容易撸出一个新项目,初学者、跨语言的建议使用beego,感官上没有用 Go 语言的思维去设计框架,各种模块比较臃肿,性能上跟轻量型的框架还是有差距的。

cli

  • star:21.4k

  • 地址:https://github.com/urfave/cli

  • cli提供了简单快速的构建命令行的功能。可以很容易的通过命令设定参数和配置执行业务逻辑。

  • 使用体验:我们的crontab的定时脚本都是使用cli的命令行执行的,挺好用的。当然了也没使用过其他的命令行的类库。

zap

  • star:20.6k

  • 地址:https://github.com/uber-go/zap

  • zap是 uber 开源的 Go 高性能日志库,支持不同的日志级别,支持日志记录结构化,分配资源最小。

  • 使用体验:高性能和灵活性兼具的日志服务,碰过的几乎所有的项目都是用 zap 记录日志,当然了,还是有一些门槛的。可供选择的好用的日志类库也不多。

mysql

  • star:14.1k

  • https://github.com/go-sql-driver/mysql

  • 第三方的 MySQL 驱动,专为 Go 的 sql 标准库设计。它提供了对 MySQL 特性的支持,包括连接池、事务处理等,它的特点是高性能、安全性。

  • 使用体验:这个感觉没啥可说的,底层的协议驱动,各种ORM的框架、拼SQL的写法,后面都是使用mysql驱动的。

redigo

  • star:9.7k

  • 地址:https://github.com/gomodule/redigo

  • Redigo 是一个Go 语言 Redis 客户端库,它提供了一个简单的接口来执行 Redis 命令,它支持 Redis 的多种数据类型和操作,包括字符串、哈希、列表、集合和有序集合等。它也支持发布/订阅模式、事务、管道和连接池等功能。

  • 使用体验:我们的项目使用Redis客户端都是redigo,可使用的Redis客户端就上面这两个,找一个顺眼的用就行了。

errors

  • star:8.1k

  • 地址:https://github.com/pkg/errors

  • pkg/errors 是一个 Go 语言的错误处理包,它提供了一个用于错误处理的机制,旨在简化错误信息的创建和传播。这个包提供了一种构建错误的原因和上下文的方法,使得在调试和错误追踪时更加直观和方便。

  • 使用体验:我们的每个项目错误处理都是使用errors,它的的优势是错误多次封装包裹和传寄,可以很方便的拿到错误的调用链和堆栈信息。

goconvey

  • star:8.1k

  • 地址:https://github.com/smartystreets/goconvey

  • GoConvey 是一个用于 Go 程序 测试框架。它通过提供一种易于阅读和编写的测试风格,帮助开发者定义和执行测试用例。特别适合于编写复杂的测试场景,提高代码的可读性和可维护性。

  • 使用体验:好用,本来需要输出打印测试结果,GoConvey 让测试成为项目的一部分,提高测试代码的可读性,所有人读代码一目了然。

gin

  • star:4.2k

  • 地址:https://github.com/codegangsta/gin

  • gin是用于实时加载Go Web应用程序的程序。只需 gin 运行在应用程序的目录中,gin就是实时监测,检测到代码更改后,将自动重新编译代码,应用在下次收到HTTP请求时就是用的修改后台的代码。

  • 使用体验:觉得热加载服务很有必要,这个也特别好用,不知道star为啥这么少,只要文件有修改,codegangsta/gin 就会自动编译然后执行,在代码编写和调试的阶段非常有用,极大的提高了效率。

相关推荐
007php0071 小时前
Go语言zero项目部署后启动失败问题分析与解决
java·服务器·网络·python·golang·php·ai编程
MClink8 小时前
Go怎么做性能优化工具篇之pprof
开发语言·性能优化·golang
m0_7482546610 小时前
go官方日志库带色彩格式化
android·开发语言·golang
Algorithm157613 小时前
云原生相关的 Go 语言工程师技术路线(含博客网址导航)
开发语言·云原生·golang
Narutolxy15 小时前
深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
开发语言·golang·gin
Hello.Reader15 小时前
全面解析 Golang Gin 框架
开发语言·golang·gin
hkNaruto1 天前
【P2P】【Go】采用go语言实现udp hole punching 打洞 传输速度测试 ping测试
golang·udp·p2p
入 梦皆星河1 天前
go中常用的处理json的库
golang
海绵波波1072 天前
Gin-vue-admin(2):项目初始化
vue.js·golang·gin
每天写点bug2 天前
【go每日一题】:并发任务调度器
开发语言·后端·golang