本文整理汇总了Golang中github.com/jbenet/go-datastore.Key.Bytes方法的典型用法代码示例。如果您正苦于以下问题:Golang Key.Bytes方法的具体用法?Golang Key.Bytes怎么用?Golang Key.Bytes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jbenet/go-datastore.Key
的用法示例。
在下文中一共展示了Key.Bytes方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Delete
func (d *datastore) Delete(key ds.Key) (err error) {
err = d.DB.Delete(key.Bytes(), nil)
if err == leveldb.ErrNotFound {
return ds.ErrNotFound
}
return err
}
示例2: Put
// Returns ErrInvalidType if value is not of type []byte.
//
// Note: using sync = false.
// see http://godoc.org/github.com/syndtr/goleveldb/leveldb/opt#WriteOptions
func (d *datastore) Put(key ds.Key, value interface{}) (err error) {
val, ok := value.([]byte)
if !ok {
return ds.ErrInvalidType
}
return d.DB.Put(key.Bytes(), val, nil)
}
示例3: Put
func (bd *boltDatastore) Put(key ds.Key, val interface{}) error {
bval, ok := val.([]byte)
if !ok {
return ds.ErrInvalidType
}
return bd.db.Update(func(tx *bolt.Tx) error {
return tx.Bucket(bd.bucketName).Put(key.Bytes(), bval)
})
}
示例4: Has
func (bd *boltDatastore) Has(key ds.Key) (bool, error) {
var found bool
err := bd.db.View(func(tx *bolt.Tx) error {
val := tx.Bucket(bd.bucketName).Get(key.Bytes())
found = (val != nil)
return nil
})
return found, err
}
示例5: ConsumeValue
func (bd *boltDatastore) ConsumeValue(key ds.Key, f func([]byte) error) error {
return bd.db.View(func(tx *bolt.Tx) error {
mmval := tx.Bucket(bd.bucketName).Get(key.Bytes())
if mmval == nil {
return ds.ErrNotFound
}
return f(mmval)
})
}
示例6: Get
func (d *datastore) Get(key ds.Key) (value interface{}, err error) {
val, err := d.DB.Get(key.Bytes(), nil)
if err != nil {
if err == leveldb.ErrNotFound {
return nil, ds.ErrNotFound
}
return nil, err
}
return val, nil
}
示例7: Get
func (bd *boltDatastore) Get(key ds.Key) (interface{}, error) {
var out []byte
err := bd.db.View(func(tx *bolt.Tx) error {
mmval := tx.Bucket(bd.bucketName).Get(key.Bytes())
if mmval == nil {
return ds.ErrNotFound
}
out = make([]byte, len(mmval))
copy(out, mmval)
return nil
})
if err != nil {
return nil, err
}
return out, err
}
示例8: Has
func (d *datastore) Has(key ds.Key) (exists bool, err error) {
return d.DB.Has(key.Bytes(), nil)
}
示例9: BlakeKeyHash
// Hash a key and return the first 16 hex chars of its blake2b hash.
// basically: Blake2b(key).HexString[:16]
func BlakeKeyHash(key ds.Key) string {
h := blake2.NewBlake2B()
h.Write(key.Bytes())
d := h.Sum(nil)
return fmt.Sprintf("%x", d)[:16]
}
示例10: Delete
func (bd *boltDatastore) Delete(key ds.Key) error {
return bd.db.Update(func(tx *bolt.Tx) error {
return tx.Bucket(bd.bucketName).Delete(key.Bytes())
})
}