Я новичок в Golang, поэтому я делаю свое первое игрушечное приложение, настроив начальный проект для веб-приложения на основе гориллы. Все идет хорошо, но код сеанса работает не так, как я ожидал, вот полный код, а вот только соответствующий фрагмент:
func getMyCounter(w http.ResponseWriter, r *http.Request){
session, _ := sessionStore.Get(r, counterSession)
if session.IsNew {
session.Values[myCounter] = 0
}
val := session.Values[myCounter].(int)
log.Printf("getMyCounter %d", val)
m := make(map[string]int)
m["counter"] = val
js, _ := json.Marshal(m)
w.Header().Set("Content-Type", "application/json")
w.Write(js)
}
func incrementMyCounter(w http.ResponseWriter, r *http.Request){
log.Println("incrementMyCounter")
session, _ := sessionStore.Get(r, counterSession)
if session.IsNew {
session.Values[myCounter] = 0
}
val := session.Values[myCounter].(int)
session.Values[myCounter] = val + 1
getMyCounter(w, r)
}
мои вызовы getMyCounter и incrementMyCounter всегда возвращают 0
session.Save(r, w)
- person JimB   schedule 10.03.2015