【发布时间】:2015-09-15 14:13:02
【问题描述】:
我一直在尝试在由 vagrant 提供支持的虚拟机中执行一个简单的 golang 程序。
这些是我go env的相关字段:
GOARCH="amd64"
GOPATH="/usr/local/src/go"
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
这是我要执行的程序(位于 /usr/local/src/go/program ):
package program
import (
"fmt"
)
func main() {
fmt.Print("Aloha")
}
这个,我得到的输出:
main.go:4:5:
/usr/local/go/src/fmt/doc.go:1:1: expected 'package', found 'EOF'
package runtime:
/usr/local/go/src/runtime/alg.go:1:1: expected 'package', found 'EOF'
考虑到这是一个完全伪造的程序。奇怪的是,它完全可以在不同的环境中工作。 我在这里错过了什么?
非常感谢!
【问题讨论】:
-
你在调用 go run 之前保存了你的 program.go 源文件吗?使用
package main不是更好吗? -
感谢您的回复!是的,
package main会更合适。这就是它过去的方式,并且以完全相同的错误失败。当然,文件已保存;) -
是否存在某种 eol 错误(windows end of line 而不是 unix?)
-
也不是 :(
-
有趣...当然我收到了
EOF...文件确实是空的。go get执行似乎在某些时候失败了。