【发布时间】:2016-04-04 22:39:33
【问题描述】:
我对 Go 还很陌生,并且在处理使用 mux-gorilla 会话/cookie 的代码 sn-p 时遇到了问题。我想通过以下函数减少很多冗余:
func isLoggedIn(w http.ResponseWriter, r *http.Request) (bool, *Session) {
session, err := store.Get(r, "user")
var logged bool = true
if err != nil { // Need to delete the cookie.
expired := &http.Cookie{Path: "/", Name: "user", MaxAge: -1, Expires: time.Now().Add(-100 * time.Hour)}
http.SetCookie(w, expired)
logged := false
}
return logged, session
}
不幸的是,我收到以下编译错误:undefined: Session
如果 store.Get 函数可以返回这个类型,怎么可能是 undefined 呢?请注意,之前使用“gorilla/sessions”包将 store 声明为 store = sessions.NewCookieStore([]byte(secret))。
【问题讨论】: