Gin Web框架 核心源码分析
看到在Gin Web框架中 路由tree 中 的priority字段 并不是很了解作用 就单独拿出来了解了下 实际上就是对数组里面子节点 进行排序 使它索引变小 这样在 下移插入路由时 能更快找到。 type node struct { children []node path string priority uint32 indices string } 以上是 简化的数据结构 使用数组存储了 路由节点 如果一颗路由下面有很多节点那么被访问到的频率也会变高 所以 子节点较多的数 进行排序。 每次添加节点时 会对当前 节点 向索引0方向冒泡 调换 直到碰到优先级高于当前节点的节
用户评论