如果你看重稳定且灵活的 Router ,那么不推荐用 Gin 。Gin 过去一直使用了 httprouter ,但是为了追求性能它的 prefix tree 结构只支持 explicit matches 。曾经 https://github.com/julienschmidt/httprouter/pull/329 这个 PR 尝试过加入 mixed params 来改善这个问题。虽然 httprouter 没有合并这个 PR 但是这个改动被 Gin 合进去了。但是这种在不合适的结构中强行 patch 的改善出现了很多 bug ,我曾经也提过 PR: https://github.com/gin-gonic/gin/pull/2706 去修复我遇到的问题。

但是关键的是 Gin 的 maintainers 基本不再参与开发了,你未来可能会遇到很多问题需要自己解决。就我个人的贡献经历来看,他们会期望你去解决问题,自己却不太想深入问题的所在。

这点在最近的 commits 中都有体现,可以对比一下 Gin 和 Echo 的提交,你会发现 Echo 相比之下活跃的多得多。

而且从我的使用来看,我交 PR 的时候也做过 benchmark ,Gin 主推的性能并没有他们所说的那么好,没有那么好是因为其他的框架也没有那么差。所以除了这点以外,Gin 其实没有什么 features 可以值得留恋的了。

我也用过 Echo ,各方面都很不错,可以说是一个标准的现代后端框架了。所以我推荐 Echo ,Gin 现在可以说是从各方面都远远落后了。