1.Cookie的概念

Cookie是一种服务器端的存储技术,它可以将客户端的一些信息(如登录状态、浏览器访问的历史记录、服务器的一些信息)存储在客户端的浏览器中,下次客户端再次访问服务器时,可以将Cookie信息发送给服务器,从而实现服务器与客户端之间的持久性连接。

2.Golang net/http中Cookie的使用

Golang中net/http模块提供了对Cookie的操作,主要提供了以下几个函数:

1)http.Cookie:用于创建新的Cookie对象;

2)http.SetCookie:用于将Cookie写入到ResponseWriter中;

3)http.Request.Cookie:用于从Request中获取Cookie。

3.实例代码

下面的实例代码演示了如何在Golang中使用net/http模块操作Cookie:

package main

import (
	"fmt"
	"net/http"
	"time"
)

func main() {
	// 创建一个Cookie
	expiration := time.Now()
	expiration = expiration.AddDate(1, 0, 0)
	cookie := http.Cookie{Name: "username", Value: "astaxie", Expires: expiration}
	
	// 将Cookie写入ResponseWriter
	http.SetCookie(w, &cookie)
	
	// 从Request中获取Cookie
	cookie, err := r.Cookie("username")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(cookie)
}