标签 ServeMux 下的文章

Go 1.22 新ServeMux的Proposal

Go在1.22中为开发者带来了新的ServeMux,可以支持更丰富的路由表达式,详细用法见 https://go.dev/blog/routing-enhancements。 在使用中我发现想要获取当前路由匹配的信息在Request中是无法直接获取的,需要使用func (mux *ServeMux) Handler(r *Request)再执行一边来拿到当前匹配的Pattern。不说在很大请求量时频繁调用带来的开销,哪怕小请求量下这样的浪费也是让人于心不忍的。在Gorilla Mux中,router向RequestContext设置了routeKey来达到传递匹配的Route的信息。需要获取这个信息时要从RequestContext中找到这个routeKey,也有不小的开销。

- 阅读剩余部分 -