package main
import "fmt"
import "net/http"
func home(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "What!")
}
func bar(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Bar!")
}
func main() {
http.HandleFunc("/", home)
http.HandleFunc("/foo", bar)
http.ListenAndServe(":5678", nil)
}
如果我訪問/foo
,bar
將運行。爲什麼這會在每個URL請求上得到處理?
如果我訪問/
或/any/other/path
,home
將運行。
任何想法爲什麼發生這種情況?我如何處理404的?
我不明白。這是爲什麼?如果我拿走根處理程序,404的工作。看起來,當你註冊一個'/'處理程序時,它充當通配符路由。 – daryl 2014-09-10 21:22:03
這是一個通配符路由,如果您嘗試提供文件,請使用http://golang.org/pkg/net/http/#FileServer – OneOfOne 2014-09-10 21:23:25