mvcc/key_index.go
func (g *generation) walk(f func(rev revision) bool) int {
	l := len(g.revs)
	for i := range g.revs {
		ok := f(g.revs[l-i-1])
		if !ok {
			return l - i - 1
		}
	}
	return -1
}
func (g *generation) walk(f func(rev revision) bool) int {
	l := len(g.revs)
	for i := range g.revs {
		ok := f(g.revs[l-i-1])
		if !ok {
			return l - i - 1
		}
	}
	return -1
}
func ( g * generation ) walk ( f func ( rev revision ) bool ) int { l := len ( g . revs ) for i := range g . revs { ok := f ( g . revs [ l - i - 1 ] ) if ! ok { return l - i - 1 } } return - 1 }
// walk walks through the revisions in the generation in descending order.
// It passes the revision to the given function.
// walk returns until: 1. it finishes walking all pairs 2. the function returns false.
// walk returns the position at where it stopped. If it stopped after
// finishing walking, -1 will be returned.
walk walks through the revisions in the generation in descending order . It passes the revision to the given function . walk returns until : 1 . it finishes walking all pairs 2 . the function returns false . walk returns the position at where it stopped . If it stopped after finishing walking - 1 will be returned .