Web 開発において、Cookie は、後続のリクエストで使用するためにユーザーに関する情報を保存するために使用される非常に一般的なテクノロジーです。
Go 言語 (golang) は完全な Cookie サポートも提供しており、HTTP リクエストおよび応答内の Cookie を簡単に読み取り、設定できます。
この記事では、golang が Cookie を実装する方法を紹介し、読者がよりよく理解できるようにいくつかのサンプル コードを提供します。以下に詳しくご紹介します。
1. golang の Cookie
golang では、http パッケージの Cookie タイプを使用して Cookie を表します。 Cookie には、キーと値の 2 つのフィールドと、パス、ドメイン、MaxAge、Expires などのいくつかのオプションのフィールドが含まれます。
以下は Cookie の定義です:
type Cookie struct {
Name string Value string Path string Domain string Expires time.Time RawExpires string MaxAge int Secure bool HttpOnly bool Raw string Unparsed []string
}
Cookie の各フィールドの意味は次のとおりです。
"net/http"
http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)
c := http.Cookie{Name: "username", Value: "john"} http.SetCookie(w, &c)
## を読み取ります。 #In golang では、Cookie を読み取るには、http パッケージの Cookies 機能を使用できます。 Cookies 関数には、HTTP リクエストを表すために使用される Request タイプのパラメータが必要です。
以下は Cookies 関数の定義です:
func Cookies(r
Request) []Cookieサンプル コードでは、 「username」という名前の Cookie を設定し、その値をコンソールに出力します。
サンプル コードは次のとおりです。
package main
import (
"fmt" "net/http"
)
func main() {
http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)
}
func handler(w http.ResponseWriter, r *http.Request) {
c, err := r.Cookie("username") if err != nil { fmt.Println("Unable to read cookie") } else { fmt.Println(c.Value) }
}
このサンプル コードでは、Request の Cookie メソッドを使用しています。 「ユーザー名」という名前のクッキーを読み取ります。読み取りに成功した場合は cookie の値が出力され、そうでない場合はエラー メッセージが出力されます。
概要
この記事では、cookie の作成方法と読み取り方法を含め、golang で cookie を使用する方法を紹介します。この記事の導入により、読者は golang での Cookie の基本的な使用法を習得でき、Web 開発の可能性がさらに広がります。
以上がGolangでCookieを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。