从SQL反序列化接口字段

时间:2016-03-18 17:00:21

标签: go

假设我有以下

type Stater interface{
  name()       string
  doTransition()
  driver.Valuer
}

type Session struct {
   username string
   currentState    Stater
}

我正在为每个用户会话构建一个FSM。因此每个会话(模型)应该在数据库中有一列存储当前状态。每个状态都是一个实现Stater的类型,它包含(Name(),doTransition()等),通过实现driver.Valuer现在当前状态被正确序列化。我现在需要的是,当我从数据库中获取会话时,Session.CurrentState(类型为Stater)得到正确的反序列化并分配了正确的具体类型。我知道sql.Scanner接口,但我不知道究竟应该实现什么。谢谢。

0 个答案:

没有答案