• 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 就会自动编译然后执行,在代码编写和调试的阶段非常有用,极大的提高了效率。

  • 相关阅读:
    《穿越时空的git》之创建版本库和常用命令操作
    在英特尔 CPU 上微调 Stable Diffusion 模型
    安全框架Spring Security是什么?如何理解Spring Security的权限管理?
    Mybatis执行器BatchExecutor、ReuseExecutor、SimpleExecutor介绍
    面试题:Promise用法及理解
    数据结构——新手村级二叉树讲解
    (未解决)执行git rebase提示:Current branch xxx is up to date.
    DOM对非表单元素与表单元素的属性操作
    特征工程之特征降维-特征选择-PCA/LDA
    关于如何计算 递归 方法 的时间复杂度 笔记总结
  • 原文地址:https://www.cnblogs.com/feixiangmanon/p/18109743