1、这篇文章我们简要讨论一些Gin框架
主要是给大家一个基本概念
1、Gin主要是分为路由和中间件部分。
Gin底层使用的是net/http的逻辑,net/http主要是说,当来一个网络请求时,go func开启另一个协程去处理后续(类似epoll)。
然后主协程持续accept连接。然后对于net/http他的路由处理是通过切片绑定了所有的请求路径和对应的handler方法。
Gin修改了其中的路由方法,采用了前缀树的实现方案,不同请求方法对应一颗压缩前缀树,比如Get、Post等请求方式都对应不同的一颗压缩前缀树,相同请求方式的都在同一棵压缩前缀树。
什么是前缀树,如图
2、Gin中间件
如果你学过Java的话,其实就是AOP,在函数程序前后,加入一些公共函数处理,他的处理逻辑就像一个环,对于函数程序处理前,是先入先处理,函数程序处理结束后,是先处理后面的。