我正在学习语言,但我仍然缺乏知识。我正在编写http静态服务器(在第一阶段为服务资产)。此外,我正在尝试使用gorilla / mux包作为路由器。
到目前为止,我最终还是
pagekage main
import (
"fmt"
"github.com/gorilla/mux"
"html"
"net/http"
)
func HomeHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/", HomeHandler)
r.PathPrefix("/public/").Handler(http.StripPrefix("/public/",
http.FileServer(http.Dir("public/"))))
http.Handle("/", r)
http.ListenAndServe(":8080", nil)
}
它工作正常,并提供/ public /
下的所有文件现在我想重构代码
r.PathPrefix("/public/").Handler(http.StripPrefix("/public/",
http.FileServer(http.Dir("public/"))))
表格
r.PathPrefix("/public/").Handler(PublicHandler)
这是非常基础的,我想学习如何制作更好看的代码。
你能就此提出建议吗? THX。
答案 0 :(得分:1)
只需将处理程序分配给变量:
PublicHandler := http.StripPrefix("/public/", http.FileServer(http.Dir("public/")))
r.PathPrefix("/public/").Handler(PublicHandler)