이러한 선언은 허용되기는 하지만, 이로 인해 패키지에서 내보낸 식별자를 선언 뒤에 사용할 수 없게 되거나 코드를 읽을 때 혼란이 발생합니다.
예:
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
}
변수 이름 fmt 및 iio가 import 문의 패키지 이름과 충돌합니다. 추후 코드에서 혼동되지 않도록 이러한 변수의 이름을 변경하는 것이 좋습니다.