【发布时间】:2019-08-05 03:42:17
【问题描述】:
突然间,vscode 无法在同一个包中获取访问结构,但在不同的文件中。
错误显示未定义的结构
之前 vscode 可以跨文件实例化结构体(vscode+go1.12.4)
示例代码如下:
file1 a.go
package main
import "fmt"
type su struct {
Sfd string
Sf int
}
func (sed *su) do() {
fmt.Println(sed.Sfd + string(sed.Sf))
}
file2 main.go
package main
import "fmt"
func main() {
d := su{}
fmt.Println(d)
}
这两个文件在同一个包中
有人遇到过同样的问题吗?
【问题讨论】:
-
尝试运行 *.go
-
是的,在playground可以用,为什么vscode有问题
-
@Wicak
go run文件名大多被滥用。对于真正想使用go run而不是go build或go install的人,他们可以使用包名称参数(至少使用最新版本的Go):go run .(最大的区别是这尊重构建标签, *_test.go文件等,因为go run *.go在许多完全有效的包中都会失败)。 -
谢谢@DaveC,我以前不知道。但是我找到的大多数答案,建议使用 go run *.go 来解决这样的问题。你想给我更多关于这个问题的建议吗?
标签: go glide-golang