2017-07-30 99 views
0

私は/ person /(any_name)のようなURLを処理する必要があるGo Webアプリケーションを作成しています。ゴランの初心者として、私はそうする方法を知らない。私を助けてください。Golangの動的URLを処理する方法

+1

こんにちはを示しており、スタックオーバーフローを歓迎します。あなたの質問には、問題を理解するのに十分な情報がありません。これまでに試したことを確認する必要があります。あなたがGoを初めて使う方は、[A Tour Of Go](https://tour.golang.org/list)、[Effective Go](https://golang.org/doc/)を読んでみてください。 effective_go.html)と[Go By Example](https://gobyexample.com/)の2つがあります。 – Schwern

+0

「URLを処理する」とはどういう意味ですか?何を試しましたか?あなたはルータを使用していますか?どれ? – Flimzy

+0

このような質問をする前に、公式文書をお読みください。 – Warrior

答えて

0

このページをご覧になる場合は、https://golang.org/doc/articles/wiki/があります。

名前がpersonのハンドラを取り出し、(any_name)を抽出して、それを各人物に応じて適切に処理します。例の1つは、同じ原則であるタイトルでそれを行う方法を示しています。

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 /とあなたのタイトルはwhat(any_name)です。

r.URL.Path[len("/view/"):]は、r.URL.Pathからすべてを取りますが、開始はlen("/view/")バイトです。

1

あなたは何をしようとしているのかについては、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) 
関連する問題