intrange is a program for checking for loops that could use the Go 1.22 integer range feature.
go install github.com/ckaznocha/intrange/cmd/intrange@latest
go vet -vettool=$(which intrange) ./...
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
Running intrange
on the above code will produce the following output:
main.go:5:2: for loop can be changed to use an integer range (Go 1.22+)
The loop can be rewritten as:
package main
import "fmt"
func main() {
for i := range 10 {
fmt.Println(i)
}
}
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println("Hello again!")
}
}
Running intrange
on the above code will produce the following output:
main.go:5:2: for loop can be changed to use an integer range (Go 1.22+)
The loop can be rewritten as:
package main
import "fmt"
func main() {
for range 10 {
fmt.Println("Hello again!")
}
}