我在 MacOS 上的 Visual Studio Code 中安装了 Go 扩展(版本 0.11.4):
但是,我发现 linter 不会“拾取”在同一包中定义的函数,而是在不同的文件中。例如,如果我在同一目录中创建一个foo.go
文件
package foobar
import "fmt"
func main() {
fmt.Println(SayHello())
}
bar.go
和一个文件
package foobar
func SayHello() string {
return "Hello, world!"
}
然后在foo.go
我得到一个 linter 错误,它SayHello
是undeclared name
:
我在这里(https://github.com/golang/lint/issues/57)读到了一个类似的问题,但是由于这个问题已经存在五年了,我认为它现在可能已经解决了吗?或者golint
根本不能跨多个文件工作?