本文整理匯總了Golang中clive/zx.Tree.FindGet方法的典型用法代碼示例。如果您正苦於以下問題:Golang Tree.FindGet方法的具體用法?Golang Tree.FindGet怎麽用?Golang Tree.FindGet使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類clive/zx.Tree
的用法示例。
在下文中一共展示了Tree.FindGet方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: applyAdd
func (ch Chg) applyAdd(lfs zx.RWTree, rfs zx.Tree, pred string, ec chan<- error) error {
var err error
gc := rfs.FindGet(ch.D["path"], pred, "", "", 0)
for g := range gc {
dprintf("get %s\n", g)
d := g.Dir
if d == nil {
break
}
for _, k := range ignoredPutAttrs {
delete(d, k)
}
if d["err"] != "" {
e := errors.New(d["err"])
perr(ec, e)
dprintf("%s: %s\n", d["path"], d["err"])
if err == nil {
err = e
}
continue
}
if g.Datac == nil && d["type"] != "d" {
g.Datac = nchan.Null
}
if d["type"] == "d" {
e := <-lfs.Mkdir(d["path"], d)
if e != nil {
perr(ec, e)
if err == nil {
err = e
}
}
continue
}
dc := lfs.Put(d["path"], d, 0, g.Datac, "")
<-dc
if e := cerror(dc); e != nil {
dprintf("%s: put: %s\n", d["path"], e)
perr(ec, e)
if err == nil {
err = e
}
}
}
close(gc)
if e := cerror(gc); e != nil {
dprintf("get: %s\n", e)
perr(ec, e)
if err == nil {
err = e
}
}
return err
}