golang web多种运行方式及多端口监听服务
func sever() {
mx := http.NewServeMux()
l, err := net.Listen("tcp", ":3001")
if err != nil {
log.Println(err)
return
}
mx.HandleFunc("/aa", test)
mx.HandleFunc("/bb", test2)
http.Serve(l, middle(mx))
}
func test(w http.ResponseWriter, r *http.Request) {
log.Println("aa")
}
func test2(w http.ResponseWriter, r *http.Request) {
log.Println("bb")
}
func middle(next http.Handler) http.Handler {
return next
//这里可以写入条件,符合的直接反馈next,继续执行,如果有其他逻辑按下面的方法进行逻辑处理
// return http.HandlerFunc(
// func(w http.ResponseWriter, r *http.Request) {
// log.Println("123")
// },
// )
}