本文整理汇总了Golang中github.com/paulfchristiano/dwimmer/term/intern.Packer.PackPickler方法的典型用法代码示例。如果您正苦于以下问题:Golang Packer.PackPickler方法的具体用法?Golang Packer.PackPickler怎么用?Golang Packer.PackPickler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/paulfchristiano/dwimmer/term/intern.Packer
的用法示例。
在下文中一共展示了Packer.PackPickler方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Pickle
func (s *Setting) Pickle(packer intern.Packer) intern.Packed {
if s.Size == 0 {
return packer.PackList([]intern.Packed{})
}
previous := s.Previous.Pickle(packer)
return packer.AppendToPacked(previous, packer.PackPickler(s.Last))
}
示例2: pack
func pack(packer intern.Packer, x interface{}) intern.Packed {
switch x := x.(type) {
case intern.Packed:
return x
case int:
return packer.PackInt(x)
case string:
return packer.PackString(x)
case intern.Pickler:
return packer.PackPickler(x)
case []int:
args := make([]interface{}, len(x))
for i, y := range x {
args[i] = interface{}(y)
}
return p(packer, args...)
case []string:
args := make([]interface{}, len(x))
for i, y := range x {
args[i] = interface{}(y)
}
return p(packer, args...)
case []intern.Pickler:
args := make([]interface{}, len(x))
for i, y := range x {
args[i] = interface{}(y)
}
return p(packer, args...)
case []T:
args := make([]interface{}, len(x))
for i, y := range x {
args[i] = interface{}(y)
}
return p(packer, args...)
case []C:
args := make([]interface{}, len(x))
for i, y := range x {
args[i] = interface{}(y)
}
return p(packer, args...)
case []intern.Packed:
args := make([]interface{}, len(x))
for i, y := range x {
args[i] = interface{}(y)
}
return p(packer, args...)
case []interface{}:
return p(packer, x...)
}
panic(fmt.Errorf("bad argument %v to p(...) (type %T)", x, x))
}