當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。