Dalam pembangunan web, kuki ialah teknologi yang sangat biasa digunakan untuk menyimpan beberapa maklumat tentang pengguna untuk digunakan dalam permintaan seterusnya.
Bahasa Go (golang) juga menyediakan sokongan kuki lengkap, yang boleh membaca dan menetapkan kuki dengan mudah dalam permintaan dan respons HTTP.
Artikel ini akan memperkenalkan cara golang melaksanakan kuki dan menyediakan beberapa contoh kod untuk lebih memahami pembaca. Berikut adalah pengenalan terperinci.
1. Kuki dalam golang
Dalam golang, jenis Kuki pakej http digunakan untuk mewakili kuki. Kuki mengandungi dua medan: Kunci dan Nilai, serta beberapa medan pilihan, seperti Laluan, Domain, MaxAge, Tamat Tempoh, dsb.
Berikut ialah takrifan Kuki:
taip 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
}
Maksud setiap medan Kuki adalah seperti berikut :
2. Set cookie
Dalam golang, untuk menetapkan cookie, anda boleh menggunakan fungsi SetCookie pakej http. Fungsi SetCookie memerlukan parameter jenis ResponseWriter, yang digunakan untuk menghantar respons HTTP kepada klien.
Berikut ialah takrifan fungsi SetCookie:
func SetCookie(w ResponseWriter, cookie *Cookie)
Dalam kod sampel, kami akan menetapkan kuki bernama " nama pengguna" kuki dan tetapkan nilainya kepada "john".
Kod sampel adalah seperti berikut:
utama pakej
import (
"net/http"
)
utama fungsi() {
http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)
}
pengendali fungsi(w http.ResponseWriter, r *http.Request) {
c := http.Cookie{Name: "username", Value: "john"} http.SetCookie(w, &c)
}
3 cookies
Di golang, untuk membaca cookie, anda boleh menggunakan fungsi Cookies pakej http. Fungsi Cookies memerlukan parameter jenis Permintaan, yang digunakan untuk mewakili permintaan HTTP.
Berikut ialah takrifan fungsi Cookies:
func Cookies(r Request) []Cookie
Dalam kod sampel, kami akan baca sebelum Tetapkan kuki bernama "nama pengguna" dan mencetak nilainya ke konsol.
Kod sampel adalah seperti berikut:
utama pakej
import (
"fmt" "net/http"
)
utama fungsi() {
http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil)
}
pengendali fungsi(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) }
}
Kod sampel ini menggunakan kaedah Kuki Permintaan untuk membaca kuki bernama "nama pengguna". Jika bacaan berjaya, nilai kuki adalah output jika tidak, mesej ralat akan dikeluarkan.
Ringkasan
Artikel ini memperkenalkan cara menggunakan kuki dalam golang, termasuk cara membuat dan membaca kuki. Melalui pengenalan artikel ini, pembaca boleh menguasai penggunaan asas kuki dalam golang, memberikan lebih banyak kemungkinan untuk pembangunan web.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kuki dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!