Go的Session介紹

Session 存在於Server端,瀏覽器将sessionid发送给Server端的时候,Server根据这个id得到session对象,就可以存取这个sessoin的内容。Go 最常被使用管理Session的函數為:gorilla/sessions

範例

import (
    "net/http"
    "github.com/gorilla/sessions"
)
var store = sessions.NewCookieStore(os.Getenv("SESSION_KEY"))
func MyHandler(w http.ResponseWriter, r *http.Request) {
    // 得到一个session
    session, _ := store.Get(r, "session-name")
    // 设置session的一些值
    session.Values["foo"] = "bar"
    session.Values[42] = 43
       // 在返回之前保存它
    session.Save(r, w)
   }