[解決済み] 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]
. 同じキーで複数の値を期待する場合も同様です。
関連
-
[解決済み] インポート "google/api/annotations.proto" が見つからないか、エラーが発生しました。依存関係として追加するにはどうすればよいですか?
-
[解決済み] Goプロセスをフォークする方法を教えてください。
-
[解決済み] GolangパッケージがGOROOTにない(/usr/local/go/src/packageName) [閉じた]。
-
コンパイル: バージョン "" は go ツールのバージョン "" と一致しません。
-
[解決済み] GOBINが設定されていない:go installを実行できない
-
[解決済み] go言語でUUIDを生成する方法はありますか?
-
[解決済み] go install` は `go.mod` にレコードを追加します。
-
[解決済み] Goで複数行の文字列はどのように書くのですか?
-
[解決済み] Goでオブジェクトの型を見つけるには?
-
[解決済み] GOPATHとGOROOTの値はどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Goで配列を反転させるにはどうしたらいいですか?
-
[解決済み] Goをアンインストールする方法を教えてください。
-
[解決済み] ParseFormはいつ使うべきで、FormValueとPostFormValueはいつ使うべきですか?
-
[解決済み] 文字列の先頭と末尾のホワイトスペースを削除するにはどうすればよいですか?
-
[解決済み] キューの実装はありますか?
-
[解決済み] goでローカルパッケージをインポートするには?
-
[解決済み] go言語でUUIDを生成する方法はありますか?
-
[解決済み] Goでfloat64をintに変換する
-
[解決済み] Goで2つのスライスを連結する
-
[解決済み】現在実行中のファイルのディレクトリを取得するには?