Golang框架分析

  1. Go语言框架调研
    1. Web框架
    2. 数据库框架
    3. 测试框架

Go语言框架调研

Web框架

框架 特点 依赖 作者 star数量(2021.1.23)
Gin 高性能,最受欢迎 manucorporat(西班牙) 45k
Beego 优:中文文档完善,自带orm
缺:据说代码风格更像java、php
astaxie(中国) 25.8k
Iris 高性能 kataras(希腊) 19.9k
Echo 高性能(略优于Gin) vishr(美国) 19k
Revel 最早的Go Web框架(生于2011年) robfig 12.1k
Fiber 优:超高性能(基于fasthttp)
缺:不支持http2
Fenny(荷兰)
11.3k
Buffalo \ markbates(美国)
6k

参考:https://github.com/speedwheel/awesome-go-web-frameworks

翻译:https://blog.csdn.net/bluehawksky/article/details/90447467

数据库框架

框架 描述 star数量
Gorm 作者是中国程序员jinzhu,当前非常受欢迎 22.5k
Beego orm Beego内部组件 25.8k
ent facebook开源 6.4k

测试框架

框架 描述
gocheck(test+assert) 开源于2010,最初就是以“优于原生单元测试”为卖点的,现在社区已经不活跃了 0.6k
ginkgo(test) 开源于2013,一个 BDD 风格的测试框架,能够很好地提升单元测试的表达能力
https://ke-chain.github.io/ginkgodoc/
4.5k
gomega(assert) 默认与与ginkgo搭配使用的断言框架 1.3k
testify(test+assert+mock) 开源于2012,一站式的Go语言测试框架 12.4k
gomock(mock) golang官方提供的Mock工具(几乎所有人都在用这个) 5.1k

最终选型:ginkgo + gomega + gomock

常见搭配:ginkgo + testify(断言)+gomock


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 nz_nuaa@163.com
github