失败 - 预期的“包”,发现“EOF”

我一直在努力尝试在由 vagrant 驱动的虚拟机中执行一个简单的 golang 程序。这些是 my 的相关字段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'

考虑到这是一个完全虚假的程序。奇怪的是,它完全适用于不同的环境。我在这里缺少什么?


非常感谢!


MYYA
浏览 425回答 3
3回答

慕娘9325324

使用 VS Code 进行 GO,并面临同样的问题。在 Windows 上保存文件“Ctrl+S”修复了该问题。

慕斯王

这通常发生在您有一个文件(例如 foo_test.go 为空或没有包声明)时。

哔哔one

问题不在于 withGOROOT也不GOPATH。go 安装在某些时候失败,使整个过程变得不稳定(文件已创建但完全为空)。再次配置虚拟机时,go 模块会检查文件是否存在。正如他们所做的那样,理所当然地认为安装已经进行了。从头开始清理和全新安装解决了这个问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go