> cookie通常用于在浏览器中保存一些小数据,例如客户标识、用户非铭感数据。注意别使用cookie保存隐私数据。
> gin框架主要通过上下文对象提供的SetCookie()和Cookie()两个函数操作cookie
~~~
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
// 设置 cookiesite_cookie
router.GET("/setCookie", func(c *gin.Context) {
c.SetCookie("site_cookie", "www.xx.com", 3600, "/", "localhost", false, true)
c.String(200, "done")
})
// 读取 cookie
router.GET("/getCookie", func(c *gin.Context) {
data, err := c.Cookie("site_cookie")
if err != nil {
c.String(200,"not found!")
return
}
// 直接返回cookie值
c.String(200,data)
})
// 删除 cookie:将MaxAge设置为-1,表示删除
router.GET("/delCookie", func(c *gin.Context) {
c.SetCookie("site_cookie", "", -1, "/", "localhost", false, true)
c.String(200,"cookie已删除")
})
router.Run(":8080")
}
~~~
**SetCookie函数定义**
> `func (c *Context) SetCookie(name, value string, maxAge int, path, domain string, secure, httpOnly bool)`
> 参数说明:
![](https://img.kancloud.cn/f2/c5/f2c5f5465e81f66eeb630068957ed6a8_1275x325.png)
- 基础知识
- 开发环境
- 包名规则
- 包初始化 (init)
- 基础数据类型
- 基础类型转换
- 格式化输出
- go指针
- 流程控制语句
- 函数定义
- 匿名函数
- 数组和切片
- map集合
- 结构体
- Interface接口
- 日期处理
- 数学计算
- 正则表达式
- 协程 (并发处理)
- channel
- waitgroup
- mutex (锁机制)
- websocket
- protobuf
- Redis
- 错误处理
- 打包程序
- NSQ消息队列
- 单元测试
- beego
- 安装入门
- Gin
- 快速入门
- 路由与控制器
- 处理请求参数
- 表单验证
- 处理响应结果
- 渲染HTML模版
- 访问静态文件
- Gin中间件
- Cookie处理
- Session处理
- Gin上传文件
- swagger
- pprof性能测试
- GORM
- 入门教程
- 模型定义
- 数据库连接
- 插入数据
- 查询数据
- 更新数据
- 删除数据
- 事务处理
- 关联查询
- 属于 (BELONG TO)
- 一对一 (Has One)
- 一对多 (Has Many)
- 多对多 (Many to Many)
- 预加载 (Preloading)
- 错误处理
- 第三方常用插件
- viper 读取配置文件
- zap 高性能日志
- Nginx代理配置
- Goland 快捷键