intrange

package module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2024 License: MIT Imports: 8 Imported by: 1

README

intrange

Build Status Release GoDoc

intrange is a program for checking for loops that could use the Go 1.22 integer range feature.

Installation

go install github.com/ckaznocha/intrange/cmd/intrange@latest

Usage

go vet -vettool=$(which intrange) ./...

Examples

A loop that uses the value of the loop variable
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)
    }
}
A loop that does not use the value of the loop variable
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!")
    }
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Analyzer = &analysis.Analyzer{
		Name:     "intrange",
		Doc:      "intrange is a linter to find places where for loops could make use of an integer range.",
		Run:      run,
		Requires: []*analysis.Analyzer{inspect.Analyzer},
	}
)

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL