关于包引用的坑2(终极解决!)
上回说到用replace可以解决跨包调用的问题,运行是没问题了,但是在vscode里总是提示没法import xxx。因为vscode默认去gopath和goroot里找包的,显然无法找到。经历了各种搜索、更新vscode、go work init xx,都没有解决我的问题。我只需要调用本地同一个项目里,不同包中的方法。网上各种说法都有,有的说得非常复杂,但实没要么就是连go build都编译不过,要么是像上文那样,能go run,但vscode会报错,并且方法调用连智能提示都没有:cry:!
其实解决起来非常简单,在main.go同级目录,执行go mod init 包名。比如go mod init demo,它会自动在main.go同级目录生成go.mod。其它文件夹里的包只管根据实际命名,比如common文件夹里的us