iter: github.com/bradfitz/iter Index | Examples | Files

package iter

import "github.com/bradfitz/iter"

Package iter provides a syntactically different way to iterate over integers. That's it.

This package was intended to be an educational joke when it was released in in 2014. People didn't get the joke part and started depending on it. That's fine, I guess. (This is the Internet.) But it's kinda weird. It's one line, and not even idiomatic Go style. I encourage you not to depend on this or write code like this, but I do encourage you to read the code and think about the representation of Go slices and why it doesn't allocate.

Index

Examples

Package Files

iter.go

func N Uses

func N(n int) []struct{}

N returns a slice of n 0-sized elements, suitable for ranging over.

For example:

for i := range iter.N(10) {
    fmt.Println(i)
}

... will print 0 to 9, inclusive.

It does not cause any allocations.

Code:

for i := range iter.N(4) {
    fmt.Println(i)
}

Output:

0
1
2
3

Package iter is imported by 108 packages. Updated 2019-07-16. Refresh now. Tools for package owners.