猿问

如何从 Go 程序中的另一个文件导入定义?

我有以下文件:


gopackage/main.go:


package main


func main () {

  foo();

}

gopackage/otherfile.go:


package main


import "fmt"


func foo() {

  fmt.Print("foo\n")

}

显然,对foofrom的引用main.go不能解析为fooin的定义otherfile.go:


> go run main.go

# command-line-arguments

./main.go:4: undefined: foo

为什么不?有人告诉我,同一目录中的所有文件都包含一个包,这是一个范围。


慕无忌1623718
浏览 258回答 1
1回答

慕姐8265434

编译并运行 Go 程序用法:go run [build flags] [-exec xprog] gofiles... [arguments...]Run 编译并运行包含命名的 Go 源文件的主包。Go 源文件被定义为以文字“.go”后缀结尾的文件。列出所有gofiles,go run main.go otherfile.go或者,在 Linux 和其他类 Unix 系统上,*.go是.go目录中所有文件的通配符,go run *.go
随时随地看视频慕课网APP

相关分类

Go
我要回答