go build工作正常但是运行失败

Roe*_*yen 18 compiler-errors compilation go

我在一个目录下的主程序包中有一些文件:

main.go config.go server.go

当我这样做:"去构建"程序构建完美,运行良好.当我这样做:"去运行main.go"它失败了.

输出:

# command-line-arguments
./main.go:7: undefined: Config
./main.go:8: undefined: Server
Run Code Online (Sandbox Code Playgroud)

未定义的符号是结构,它们是大写的,因此应该导出.

我的Go版本:go1.1.2 linux/amd64

Nic*_*ood 35

这应该工作

go run main.go config.go server.go
Run Code Online (Sandbox Code Playgroud)

Go运行需要一个或多个文件,它符合那些文件,只有那些解释原始帖子中缺少的符号的文件.

  • @RoelVanNyen这根本不奇怪 - 因为它们是导入的,go工具链知道在哪里寻找它们 (3认同)
  • 对我来说有一个副作用: `$ go run *.go` `go run: 无法运行 *_test.go 文件 (main_test.go)` [此处](https://stackoverflow.com/问题/23695448/golang-run-all-go-files-within-current-directory-through-the-command-line-mul) (2认同)

小智 18

您可以将其执行为:

go run .
Run Code Online (Sandbox Code Playgroud)

所以您不必手动包含所有文件。