Вы имеете в виду goleveldb ?
Если так, то это будет выглядеть как
iter := db.NewIterator(nil, nil)
ok := iter.Last()
if ok {
key = iter.Key()
value = iter.Value()
}
iter.Release() // Note: you should first get data and then release iterator
err = iter.Error()
Или выполнить итерацию от конца к началу.
iter := db.NewIterator(nil, nil)
for ok := iter.Last(); ok; ok = iter.Prev() {
// Use key/value.
// ...
}
iter.Release()
err = iter.Error()
Вы также можете получить последнее значение ключа с определенным префиксом или вообще из некоторого диапазона (более подробная информация: https://godoc.org/github.com/syndtr/goleveldb/leveldb#DB.NewIterator)
iter := db.NewIterator(util.BytesPrefix([]byte("prefix_")), nil)
// or
iter := db.NewIterator(util.Range{
Start: []byte("prefix_03"),
Limit: []byte("prefix_04"),
}), nil)
Помогает ли это?