本文整理汇总了Golang中github.com/lib/pq/hstore.Hstore.Scan方法的典型用法代码示例。如果您正苦于以下问题:Golang Hstore.Scan方法的具体用法?Golang Hstore.Scan怎么用?Golang Hstore.Scan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/lib/pq/hstore.Hstore
的用法示例。
在下文中一共展示了Hstore.Scan方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Scan
// Scan implements the sql.Scanner interface.
func (cm *CommandMap) Scan(src interface{}) error {
h := hstore.Hstore{}
if err := h.Scan(src); err != nil {
return err
}
m := make(CommandMap)
for k, v := range h.Map {
m[ProcessType(k)] = Command(v.String)
}
*cm = m
return nil
}
示例2: Scan
// Scan implements the sql.Scanner interface.
func (v *Vars) Scan(src interface{}) error {
h := hstore.Hstore{}
if err := h.Scan(src); err != nil {
return err
}
vars := make(Vars)
for k, v := range h.Map {
// Go reuses the same address space for v, so &v.String would always
// return the same address
tmp := v.String
vars[Variable(k)] = &tmp
}
*v = vars
return nil
}
示例3: Scan
func (h *Hstore) Scan(value interface{}) error {
hstore := hstore.Hstore{}
if err := hstore.Scan(value); err != nil {
return err
}
if len(hstore.Map) == 0 {
return nil
}
*h = Hstore{}
for k := range hstore.Map {
if hstore.Map[k].Valid {
s := hstore.Map[k].String
(*h)[k] = &s
} else {
(*h)[k] = nil
}
}
return nil
}