http.ServeMux 路由挂载?

让我们采用以下模式:


package main


import (

    "fmt"

    "net/http"

)


func main() {

    admin := http.NewServeMux()

    admin.HandleFunc("/", root)

    admin.HandleFunc("/foo", foo)

    http.Handle("/admin", admin)

    http.ListenAndServe(":4567", nil)

}


func root(w http.ResponseWriter, r *http.Request) {

    fmt.Fprint(w, "Admin: ROOT")

}


func foo(w http.ResponseWriter, r *http.Request) {

    fmt.Fprint(w, "Admin: FOO")

}

当我运行时/admin,它会触发根处理程序,但当我运行时它不会触发,/admin/foo这是怎么回事?明确地说,我不是在寻找替代包,我实际上有一个自定义路由器,我只是对这里发生的事情感到好奇,因为这种模式对我来说没有多大意义。


Qyouu
浏览 409回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go