Golang Ошибка — cannot use Id (type interface {}) as type string in field value: need type assertion?
Добрый день, использую сессии от сюда -"github.com/gorilla/sessions"
websocket "code.google.com/p/go.net/websocket"
Сначала создал сессию, как и написано на оф.сайте
Такой вариант работает-
session, _ := store.Get(r, "SessionId") // r- Request
log.Println("Значение из сессии Id=",session.Values["Id"]," и FIO=",session.Values["FIO"])
Нужно ещё с этими данными работать и я их сохраняю...
Но такой вариант не работает
var ActiveClients = make(map[int ] ClientConn)
type ClientConn struct {
websocket *websocket.Conn
Socket_Id int
User_Id string
FIO string
Role string
}
Пишет
cannot use Id (type interface {}) as type string in field value: need type assertion
здесь sockCli := ClientConn{ws, Soc_Id,Id,FIO,Role}
И для FIO и Role тоже такое-же.
Почему в консоль он string тип выводит, а тут ругается?
Нашёл ответ ru.stackoverflow.com/questions/436325
Id , _ := session.Values["Id"].(string)
FIO , _ := session.Values["FIO"].(string)
Role , _ := session.Values["Role"].(string)