本文整理汇总了Golang中github.com/decred/dcrd/blockchain/stake/internal/tickettreap.Immutable.Has方法的典型用法代码示例。如果您正苦于以下问题:Golang Immutable.Has方法的具体用法?Golang Immutable.Has怎么用?Golang Immutable.Has使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/decred/dcrd/blockchain/stake/internal/tickettreap.Immutable
的用法示例。
在下文中一共展示了Immutable.Has方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: safeDelete
// safeDelete is used to delete a value in an immutable ticket treap, returning
// the mutated, immutable treap given as a result. It first checks to see if
// the key exists in the treap. If it does not, it returns an error.
func safeDelete(t *tickettreap.Immutable, k tickettreap.Key) (*tickettreap.Immutable, error) {
if !t.Has(k) {
return nil, stakeRuleError(ErrMissingTicket, fmt.Sprintf("attempted to "+
"delete non-existing key %v from treap", chainhash.Hash(k)))
}
return t.Delete(k), nil
}
示例2: safePut
// safePut is used to put a value into an immutable ticket treap, returning
// the mutated, immutable treap given as a result. It first checks to see if
// there is already this key in the treap. If there is, it returns an error.
// TODO This function could also check to make sure the states of the ticket
// treap value are valid.
func safePut(t *tickettreap.Immutable, k tickettreap.Key, v *tickettreap.Value) (*tickettreap.Immutable, error) {
if t.Has(k) {
return nil, stakeRuleError(ErrDuplicateTicket, fmt.Sprintf("attempted "+
"to insert duplicate key %v into treap", chainhash.Hash(k)))
}
return t.Put(k, v), nil
}