Go说话中处理赏罚 HTTP 处事器
看 Go 的源码,相识 http.HandleFunc():
可以看出来,注册的函数被 DefaultServerMux 来行使了。注册的时辰,必要 pattern,就是 URL 模式,以及处理赏罚该 URL 模式的函数。 DefaultServerMux 是 http.ServeMux 范例的一个默认实例,ServeMux 就是路由。其首要布局是一个映射 map,用来存储 URL 模式和相干处理赏罚函数的相关。参看源码可以看出来:
可以挪用多次 http.HandleFunc() 来注册多个处理赏罚器。 URL 模式是牢靠的、由根开始的路径。处理赏罚器的 URL 模式匹配原则是 左侧长度优先匹配。 譬喻有模式 /path/article/ 和 /path/ ,假如哀求的 URL 是 /path/other/ 会由 /path/ 注册的处理赏罚器来处理赏罚,而 URL 为 /path/article/42/ 会由 /path/article/ 来处理赏罚。 以斜杠末了的模式代表一个由根开始的子树,,就是以当前为前缀的城市匹配。因此 / 会匹配全部的未被其他注册的模式匹配的路径。 4 处理赏罚器 处理赏罚器可以由函数或实现 Handler 接口的工具来充当。Handler 接口就是要求工具实现和处理赏罚器函数同等的要领。看 http.Handler 接口的实现源码:
我们行使函数 http.HandleFunc 注册处理赏罚函数,而行使 http.Handle 函数来注册满意 Handler接口的处理赏罚工具。结果是同等的。 处事器篇完,后续尚有 哀求工具,相应工具 。 【编辑保举】
点赞 0 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |