当前位置: 首页>>代码示例>>Golang>>正文


Golang DB.NewIterator方法代码示例

本文整理汇总了Golang中github.com/jmhodges/levigo.DB.NewIterator方法的典型用法代码示例。如果您正苦于以下问题:Golang DB.NewIterator方法的具体用法?Golang DB.NewIterator怎么用?Golang DB.NewIterator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/jmhodges/levigo.DB的用法示例。


在下文中一共展示了DB.NewIterator方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: AddressFirstSeen

// Timestamp of the block an address was first confirmed in
func AddressFirstSeen(db *levigo.DB, addr string) (timestamp uint, err error) {
	timestamp = uint(0)
	ro := levigo.NewReadOptions()
	defer ro.Close()
	it := db.NewIterator(ro)
	defer it.Close()
	it.Seek([]byte(fmt.Sprintf("%s-txo!", addr)))
	if it.Valid() {
		k := string(it.Key()[:])
		data := strings.Split(k, "!")
		r, _ := db.Get(ro, []byte(fmt.Sprintf("tx!%s", data[1])))
		data = strings.Split(string(r[:]), ":")
		ts, _ := strconv.Atoi(data[0])
		timestamp = uint(ts)
		return
	} else {
		err = errors.New("Address not found")
		return
	}
}
开发者ID:pombredanne,项目名称:btcplex,代码行数:21,代码来源:address.go

示例2: GetRange

func GetRange(db *levigo.DB, kStart []byte, kEnd []byte) (values []*KeyValue, err error) {
	ro := levigo.NewReadOptions()
	defer ro.Close()

	it := db.NewIterator(ro)
	defer it.Close()

	it.Seek(kStart)
	endBytes := kEnd
	for {
		if it.Valid() {
			if bytes.Compare(it.Key(), endBytes) > 0 {
				return
			}
			values = append(values, &KeyValue{string(it.Key()[:]), string(it.Value()[:])})
			it.Next()
		} else {
			err = it.GetError()
			return
		}
	}

	return
}
开发者ID:pombredanne,项目名称:btcplex,代码行数:24,代码来源:utils.go

示例3: NewIterator

func NewIterator(db *levigo.DB) *Iterator {
	it := db.NewIterator(levigo.NewReadOptions())
	return &Iterator{it}
}
开发者ID:pauldub,项目名称:queued,代码行数:4,代码来源:iterator.go


注:本文中的github.com/jmhodges/levigo.DB.NewIterator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。