1. Demo

func main() {
    g := gin.Default()
    g.GET("/cookie", func(ctx *gin.Context) {
        cookie, err := ctx.Cookie("username")
        if err != nil {
            cookie = "admin"
            ctx.SetCookie("username", cookie, 3600, "/", "localhost", false, true)
        }
        fmt.Println(`Cookie("username"):`, cookie)
    })
    g.Run()
}

2. 获取 Cookie

  • 函数参数为 cookie 的键名,返回值为对应的值和 error,如果 error 为 nil,表示该键名有对应的值
Cookie(name string) (string, error)
// name: 键

3. 设置 Cookie

SetCookie(name string, value string, maxAge int, path string, domain string, secure bool, httpOnly bool)
// name 	键
// value 	值
// maxAge 	存在时间,单位是秒(s)
// path 	Cookie 所在的目录
// domain 	域名
// secure 	是否只能通过 https 访问
// httpOnly     是否允许别人通过 js 获取自己的 Cookie