[英]Reference to another field with in a func in the same struct in golang
[英]golang reference struct in same package in another file
如何在同一package
或文件夹中的另一个文件中引用MyStruct
?
目前我得到undefined: MyStruct
当go build lib/file_2.go
。 我可以运行go install
没有错误,我应该忽略构建错误吗?
这些是我的文件:
lib/file_1.go
...
package lib
...
type MyStruct struct{
}
....
lib/file_2.go
...
package lib
...
{
m MyStruct
}
....
谢谢
这个命令对我有用
go run *.go
实际上,这将编译所有 go 文件并运行您的 main 函数。 所以这很好用
你要求 go 工具编译lib/file_1.go
,你从来没有提到lib/file_2.go
那么它怎么知道它应该编译它?
从go help build
:
Build compiles the packages named by the import paths,
along with their dependencies, but it does not install the results.
If the arguments are a list of .go files, build treats them as a list
of source files specifying a single package.
您应该能够直接使用MyStruct
,因为它与其定义在同一个包中。
如果您有任何问题,有时在创建lib/file_2.go
之前进行go install
会有所帮助(例如,对于像SublimeText + GoSublime这样的 IDE)。
这样, lib/file_1.go
被编译并出现在GOPATH/pkg
, lib/file_1.go
定义对于lib/file_2.go
可见,以便在编译期间使用。
您必须首先使用 build 命令编译多个文件。
go build
现在您可以看到使用给定名称或默认情况下的文件夹名称生成的构建文件。 然后运行二进制文件。
./binary_file_name
根据https://golang.org/doc/tutorial/getting-started ,您应该运行:
go run .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.