我正在创建一个Go网络应用,我需要处理像/ person /(any_name)这样的网址。作为Golang的新手,我不知道该怎么做。请帮帮我。
答案 0 :(得分:2)
您应该考虑使用gorilla / mux包来实现您的目标。 包github的摘录显示https://github.com/gorilla/mux
r := mux.NewRouter()
r.HandleFunc("/products/{key}", ProductHandler)
r.HandleFunc("/articles/{category}/", ArticlesCategoryHandler)
r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler)
答案 1 :(得分:1)
如果你看看这个页面https://golang.org/doc/articles/wiki/,我认为你所追求的是一些例子。
您需要一个名为person的处理程序,然后解压缩(any_name)并相应地处理每个人。其中一个例子展示了如何用标题做同样的原则。
func viewHandler(w http.ResponseWriter, r *http.Request) {
title := r.URL.Path[len("/view/"):]
p, _ := loadPage(title)
t, _ := template.ParseFiles("view.html")
t.Execute(w, p)
}
而不是/ view /你得到的/ person /和title就是你所拥有的(any_name)。
r.URL.Path[len("/view/"):]
将从r.URL.Path
获取所有内容,但会从len("/view/")
个字节开始进入切片。