GO:另一个文件(同一个包)中的对象抛出未定义的错误
文件:$GOPATH/src/scratch\u go\u code/main/main.goGO:另一个文件(同一个包)中的对象抛出未定义的错误,go,Go,文件:$GOPATH/src/scratch\u go\u code/main/main.go package main import "fmt" func main() { fmt.Println("Hello World") cloud := Cloud{} cloud.Say() } 文件$GOPATH/src/scratch\u go\u code/main/cloud.go package main import "fmt" type Cloud st
package main
import "fmt"
func main() {
fmt.Println("Hello World")
cloud := Cloud{}
cloud.Say()
}
文件$GOPATH/src/scratch\u go\u code/main/cloud.go
package main
import "fmt"
type Cloud struct{}
func (Cloud) Say() {
fmt.Println("I'm a cloud in the main package")
}
运行:开始安装scratch\u go\u代码/…&&开始运行main/main.go
抛出:
你知道为什么吗?你必须使用
go build
或者将两个文件都传递给go run
,例如:
go run main/*.go
使用go build:
cd scratch_go_code/ && go build && ./scratch_go_code
您必须使用
go build
或将这两个文件传递到go run
,例如:
go run main/*.go
使用go build:
cd scratch_go_code/ && go build && ./scratch_go_code
这应该行得通
go build scratch_go_code/main
这应该行得通
go build scratch_go_code/main
你能给我一个关于go build的例子吗?我试着去构建scratch\u go\u code/…&&go run main/main.go-这不起作用……你能给我一个go构建的例子吗?我试着去构建scratch\u go\u code/…&&go run main/main.go-这不起作用…供将来参考:不要将包称为“main”(即
package main
可以,但不要将包含的文件夹命名为main/
)供将来参考:不要将包称为“main”(即package main
可以,但不要将包含的文件夹命名为main//code>)