go言語のセッション管理について
goでechoを使用してセッションを使ってカードをセットした配列を次のページで使おうと思っております。
echoの公式docに従ってgorilla/sessionsを使っています。
indexの際にはうまくvalueが表示されるのですが、なぜが次に引き継がれません。
ただの文字列であれば引き継がれるのですが、配列は引き継げないのでしょうか?
うまいやり方をご教示ください。
一部のプログラムを記載します。
var card [4][13] map[string]int // Handler func Index(c echo.Context) error { data := map[string]interface{}{ "message": "", } sess, _ := session.Get("session", c) sess.Options = &sessions.Options{ Path: "/", MaxAge: 86400 * 7, HttpOnly: true, } // カードをセットする。 // cardにvalue S1H13セット var prefix string for i, v := range card { switch { case i == 0: prefix = "S" case i == 1: prefix = "D" case i == 2: prefix = "C" case i == 3: prefix = "H" default: } for j, _ := range v { number := strconv.Itoa(j + 1) card[i][j] = make(map[string]int) card[i][j][prefix + number] = 0 } } sess.Values["test"] = "test" sess.Values["card"] = card sess.Save(c.Request(), c.Response()) fmt.Println(sess.Values["test"]) fmt.Println(sess.Values["card"]) return c.Render(http.StatusOK, "index.html", data) } func SessionTest(c echo.Context) error { sess, _ := session.Get("session", c) fmt.Println(sess.Values["test"]) fmt.Println(sess.Values["card"]) data := map[string]interface{}{ "message": "", } return c.Render(http.StatusOK, "nervous_breakdown.html", data) }