1. ホーム
  2. go

[解決済み] ParseFormはいつ使うべきで、FormValueとPostFormValueはいつ使うべきですか?

2022-02-08 19:07:51

質問

私は単にフォームデータを取得しようとしているのですが、どのメソッドを使用するのかよくわかりません。

この記事の中で http://astaxie.gitbooks.io/build-web-application-with-golang/content/en/04.1.html

これらは r.ParseForm() を実行し、ポスト値を取得します。 r.Form["username"] .

しかし、自分のコードでこれを試すとうまくいかず、代わりに文字列のスライスが表示されたので、次のようにする必要がありました。 r.Form["username"][0] を実行して、文字列の値を取得します。

記事で紹介されているものと違うのはなぜですか?なぜ文字列のスライスができるのですか?

また、もう一つの方法として、以下のような方法もあります。 r.FormValue("username") .

そして、そこに r.PostFormValue("username") を、もう一枚!

シチュエーションによって使い分けるべきは?

どのように解決するのですか?

基本的には r.PostFormValue("username") 読みたいキーがわかっているとき。この方法は、他の準備なしに常に機能します。ただし、メソッドが POST であったとしても、クエリパラメータは読み取れないことを覚えておいてください。

しかし、どのようなデータが送信されたかを確認する必要がある場合は、最初に r.ParseForm() で値を読み、さらに r.Form["username"][0] . 同じキーで複数の値を期待する場合も同様です。