iterator.go
func (it *Iterator) SeekForPrev(key []byte) (found bool) {
	var prev, next *node
	prev, next, found = it.seekForBaseSplice(key)

	var present bool
	if found {
		present = it.setNode(next, true)
	} else {
		present = it.setNode(prev, true)
	}

	return found && present
}
func (it *Iterator) SeekForPrev(key []byte) (found bool) {
	var prev, next *node
	prev, next, found = it.seekForBaseSplice(key)

	var present bool
	if found {
		present = it.setNode(next, true)
	} else {
		present = it.setNode(prev, true)
	}

	return found && present
}
// SeekForPrev searches for the record with the given key. If it is present in
// the skiplist, then SeekForPrev positions the iterator on that record and
// returns true. If the record is not present, then SeekForPrev positions the
// iterator on the preceding node (if it exists) and returns false.