
Go 说话最盛行了两个轻量级 Web 框架别离是 Gin 和 Echo,,,这两个框架包头小异,,,都是插件式轻量级框架,,,背后都有一个开源小生态来提供形形色色的小插件,,,这两个框架的机能也都非:,,,裸测起来跑的飞快。本节我们只讲 Gin 的实现道理和使用步骤,,,Gin 起步比 Echo 要早,,,市场占有率要高一些,,,生态也丰硕一些。
路由树
在 Gin 框架中,,,路由规定被分成了最多 9 棵前缀树,,,每一个 HTTP Method对应一棵「前缀树」,,,树的节点依照 URL 中的 / 符号进行层级划分,,,URL 支持 :name 大局的名称匹配,,,还支持 *subpath 大局的蹊径通配符 。
每个节点城市挂接若干要求处置函数组成一个要求处置链 HandlersChain。当一个要求到来时,,,在这棵树上找到要求 URL 对应的节点,,,拿到对应的要求处置链来执行就实现了要求的处置。