
Go 语言最盛行了两个轻量级 Web 框架划分是 Gin 和 Echo,,,,,,,,这两个框架大同小异,,,,,,,,都是插件式轻量级框架,,,,,,,,背后都有一个开源小生态来提供林林总总的小插件,,,,,,,,这两个框架的性能也都很是好,,,,,,,,裸测起来跑的飞快。。。。。。。本节我们只讲 Gin 的实现原理和使用要领,,,,,,,,Gin 起步比 Echo 要早,,,,,,,,市场占有率要高一些,,,,,,,,生态也富厚一些。。。。。。。
路由树
在 Gin 框架中,,,,,,,,路由规则被分成了最多 9 棵前缀树,,,,,,,,每一个 HTTP Method对应一棵「前缀树」,,,,,,,,树的节点凭证 URL 中的 / 符号举行层级划分,,,,,,,,URL 支持 :name 形式的名称匹配,,,,,,,,还支持 *subpath 形式的路径通配符 。。。。。。。
每个节点都会挂接若干请求处置惩罚函数组成一个请求处置惩罚链 HandlersChain。。。。。。。当一个请求到来时,,,,,,,,在这棵树上找到请求 URL 对应的节点,,,,,,,,拿到对应的请求处置惩罚链来执行就完成了请求的处置惩罚。。。。。。。