Imported package name as a name identifier
Reports declarations of variables, arguments or functions that overlap with the used import.
While legal, such declarations will make using the package exported identifiers impossible after the declaration or create confusion when reading the code.
Example:
import "fmt"
import _ "fmt"
import iio "io"
func _() {
fmt.Println("demo")
demo := true
_, _ = iio.EOF, demo
}
func demo() (int, int) {
return 1, 2
}
func _() {
_, _ = iio.EOF, demo
fmt := "demo"
iio := 1
_, _ = iio, fmt
a, _ := demo()
_ = a
}
Variable names fmt
and iio
clash with names of import packages. Not to confuse them later in code, it is better to rename these variables.
Inspection Details | |
---|---|
Available in: | GoLand 2023.3 |
Plugin: | Go, 233.SNAPSHOT |
Last modified: 13 July 2023