在看gin源码的时候,发现其组织router的时候,使用到了Radix tree结构,关于Radix tree的介绍,请参考wiki Radix tree,Radix tree是Trie树的存储空间优化版本。方便快速匹配url。
gin路由其实采用了https://github.com/julienschmidt/httprouter 这个项目的路由,gin是一个非常精致的framework,代码量不多,web开发可以参考gin造轮子。毕竟号称最快的go web framework之一,
具体的url树组织文件位于
https://github.com/julienschmidt/httprouter/blob/master/tree.go
花点时间就行,有很多注释。