go session使用

Go官方没有提供session支持,需要使用第三方库,这里介绍github.com/gorilla/sessions的使用。
这个库本身只支持cookie和文件存储,但有基于这个库的扩展,可以支持mysql redis等等。

使用方式:
存值:

1
2
3
4
5
6
7
8
var store=sessions.NewCookieStore([]byte("10df6669f6414d0ce82dbf46aaae0741"))
var sessionName = "golang_everyday"

func store(w http.ResponseWriter, r *http.Request,k string,v string) {
   session,_:=store.Get(r,sessionName)
   session.Values[k] = v
   session.Save(r,w)
}

取值:

1
2
3
4
5
func get(w http.ResponseWriter, r *http.Request,k string) (string,error){
   session,_:=store.Get(r,sessionName)
   v,err :=session.Values[k].(string)
   return v,err
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注