カテゴリ: Go言語 更新日: 2025/11/06

Go言語でフォームデータを扱う基本!リクエストパラメータの取得方法

Go言語でフォームデータを扱う基本!リクエストパラメータの取得方法
Go言語でフォームデータを扱う基本!リクエストパラメータの取得方法

先生と生徒の会話形式で理解しよう

生徒

「先生、Go言語でWebフォームから送信されたデータをどうやって取得するんですか?」

先生

「フォームデータは、HTTPリクエストの一部として送られてきます。Goではhttp.Requestのメソッドを使って簡単に取り出すことができます。」

生徒

「HTTPリクエストって難しそうですが、簡単に言うと何ですか?」

先生

「ブラウザがサーバーに送る手紙のようなものです。手紙の中にフォームの内容やURLの情報が入っています。」

生徒

「なるほど、それなら手紙の内容を読むだけでフォームのデータがわかるんですね!」

先生

「その通りです。それでは、実際にGoでフォームデータを取得する方法を見ていきましょう。」

1. フォームデータの取得方法

1. フォームデータの取得方法
1. フォームデータの取得方法

Goではhttp.RequestFormValueメソッドを使うと、簡単にフォームの値を取得できます。例えば、HTMLのタグで送信された名前やメールアドレスを取得する場合です。


package main

import (
    "fmt"
    "net/http"
)

func formHandler(w http.ResponseWriter, r *http.Request) {
    name := r.FormValue("name")
    email := r.FormValue("email")
    fmt.Fprintf(w, "名前: %s, メール: %s", name, email)
}

func main() {
    http.HandleFunc("/submit", formHandler)
    http.ListenAndServe(":8080", nil)
}

このコードでは、ブラウザから送られてきた

nameemailを取得して、サーバー側で表示しています。

2. GETリクエストとPOSTリクエストの違い

2. GETリクエストとPOSTリクエストの違い
2. GETリクエストとPOSTリクエストの違い

フォームデータは主に2つの方法で送信されます。URLに付加して送るGETリクエストと、本文に含めて送るPOSTリクエストです。

GETリクエストはブラウザのURLにデータが見える形で送られるため、簡単な検索やフィルタリングに使います。POSTリクエストはデータが本文に含まれるため、パスワードなどの機密情報を送るときに便利です。

GoのFormValueは、GETでもPOSTでも自動的に値を取得できるので初心者でも簡単に扱えます。

3. HTMLフォームとの連携例

3. HTMLフォームとの連携例
3. HTMLフォームとの連携例

次のようなHTMLフォームからデータを送る場合、Go側でFormValueを使えば簡単に値を取り出せます。


<form action="/submit" method="post">
    <label for="name">名前:</label>
    <input type="text" id="name" name="name"><br>
    <label for="email">メール:</label>
    <input type="email" id="email" name="email"><br>
    <input type="submit" value="送信">
</form>

このフォームから送信された値は、先ほどのGoのformHandlerで取得できます。

4. 注意点とポイント

4. 注意点とポイント
4. 注意点とポイント
  • フォームのタグのname属性が、Go側で取得するキーになります。
  • POSTリクエストの場合はr.ParseForm()を呼ぶと複数の値を安全に取得できます。
  • 送信データはユーザーが自由に入力できるため、必ずバリデーションやサニタイズを行うことが重要です。
  • GoのFormValueはシンプルなので、初心者でもフォームデータの取得や表示が簡単に行えます。

このように、Go言語ではフォームデータを扱う基本が簡単に理解できます。GETやPOSTに対応したhttp.Requestを使って、さまざまなWebアプリケーションでデータを取得できるようになります。

カテゴリの一覧へ
新着記事
Go言語の関数でエラーハンドリングする基本的な方法
Go言語のスライス・マップ・配列をまとめて比較してみよう!初心者でもわかる使い分けの基本
Go言語の条件分岐の見やすい書き方を徹底解説!初心者でもわかるif文の使い方
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.3
Java&Spring記事人気No3
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Kotlinのデータクラス(data class)とは?便利な特徴と使い方を初心者向けにやさしく解説!