golang 集成 sessions 使用注意事项
除go基本类型外,复杂对象结构存储,必须先注册
比如我们使用如下
$ go get github.com/tommy351/gin-sessions
package routers import ( "github.com/gin-gonic/gin" "github.com/tommy351/gin-sessions" "blog/models" "fmt" ) func init() { router := gin.Default() //设置静态资源 router.Static("/statics","./assets/statics") //设置模板路径 router.LoadHTMLGlob("templates/**") //设置session midddleware store := sessions.NewCookieStore([]byte("dongtian_go_session")) router.Use(sessions.Middleware("go_dongtian_sesion",store)) router.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) router.GET("/set", func(c *gin.Context) { session := sessions.Get(c) user := models.User{} user.Id = 100 user.UserName = "冬天" session.Set("user",user) session.Save() c.JSON(200, gin.H{ "message": "set", }) }) router.GET("/get", func(c *gin.Context) { session := sessions.Get(c) user := session.Get("user") fmt.Println("user =",user) c.JSON(200, gin.H{ "message": "get", }) }) router.Run(":8080") } models 下的User
package models import ( "time" "encoding/gob" ) type User struct { Id int `xorm:"pk"` UserName string `xorm:"char(32)"` Password string `xorm:"char(32)"` NickName string `xorm:"char(32)"` NetName string `xorm:"char(32)"` Job string `xorm:"char(32)"` Address string `xorm:"varchar(255)"` Mobile string `xorm:"char(32)"` Email string `xorm:"char(32)"` State int RegIp string LastLoginIp string CreateTime time.Time `xorm:"index(index_user_create_time)","created"` UpdateTime time.Time `xorm:"index(index_user_update_time)","updated"` LastLoginTime time.Time `xorm:"index(index_user_last_login_time)"` } func init(){ //必须encoding/gob编码解码进行注册 gob.Register(&User{}) }
相关推荐
自己用golang写的路由转发,做了mysql,redis的集成,使用chan做了队列,代码很简单,适合刚刚接触golang,需要用她来做路由转发的同学
LiteIDE 是一款简单、开源、跨平台的 Go 语言 IDE。国内不少用户下载不成功,故提供2017最新版。亲测安装非常棒,还是中文版。(解压后得到 liteide 目录,将其拷贝到 Go的Rootpath如c:\go,打开 c:\go\liteide\bin...
golang 方便使用的助手函数
golang使用bass.dll播放mp3文件
Animal是一个用Golang实现并使用OpenGL的现代终端模拟器
介绍vs code 集成golang开发环境的安装方式
golang中文手册.chm,学习golang语言的字典,一典在手,天下我有
io类开房间游戏类型,服务器使用golang,客户端使用cocos creator
golang的编译脚本案例,其中包括以下内容: 1. 生成多个可执行文件 2. 日志封装 3. 编译的时候,传入参数等。
使用Golang 搭建http web服务器
迷你测试方便的 Golang 模块使您能够运行嵌入式服务器,以便对 AWS S3 操作进行集成测试。动机上有一个。 它描述了在测试中使用 Minio 的必要步骤,但仍然没有为此目的容易(重新)使用的代码。 值得注意的是,以下...
golang123 是使用 vue、nuxt、node.js 和 golang 开发的社区系统
放在gopath目录下,通过go get下载的资源包中,我本地目录C:\Users\wyy\go\pkg\mod\github.com\pebbe\zmq4@v1.2.7
golang开发modbus rtu实例,使用golang与Modbus Slave软件进行模拟测试。
go大文件上传的example
vagrant-golang, 一个很容易使用的golang环境,可以与vagrant一起使用 Golang Vagrant环境其他语言相比,Golang 有稍微复杂一点的设置过程,因为它使用了一个基于xml的工作区概念。 使环境错误意味着许多go命令会...
websocket-golang-chat, 使用golang和 web sockets进行简单聊天 这是一个使用golang和 web sockets的简单网络聊天应用程序的演示。这需要去 web socket包,以获取包go get code.google.com/p/go.net/websocket获取...
golang中文手册.rar
gopencils - 在Go (golang)中轻松地使用REST API去
2.1.7 使用Golang实现万人同服的游戏服务器@袁锋峰.pdf