bolthelper.go
func (b Bucket) GobValue(k [][]byte, f func(interface{}) error) error {
	return b.Value(k, func(bs bytesp.Slice) error {
		var v interface{}
		if err := gob.NewDecoder(&bs).Decode(&v); err != nil {
			return errorsp.WithStacksAndMessage(err, "decoding %d bytes buffer failed", len(bs))
		}
		return f(v)
	})
}
func (b Bucket) GobValue(k [][]byte, f func(interface{}) error) error {
	return b.Value(k, func(bs bytesp.Slice) error {
		var v interface{}
		if err := gob.NewDecoder(&bs).Decode(&v); err != nil {
			return errorsp.WithStacksAndMessage(err, "decoding %d bytes buffer failed", len(bs))
		}
		return f(v)
	})
}
// GobValue retrieves a value written by PutGob and decode it.