猿问

我不能再运行 Go 程序了

这是我遇到过的最奇怪的问题。我在 Windows 2008 R2 虚拟机上设置了 Go 开发环境。我什至不重新启动它,也不运行 Windows 更新。

今天我才意识到我不能再运行 Go 程序了。我可以使用“go test”成功构建和运行单元测试。但是,运行任何已编译的 Go 程序(甚至是 hello world)都会导致出现一个标题为“不支持的 16 位应用程序”的弹出窗口。错误信息如下:

此文件的版本与您运行的 Windows 版本不兼容。检查您计算机的系统信息以了解您是否需要该程序的 x86(32 位)或 x64(64 位)版本,然后与软件发行商联系。

无论我使用什么版本的 Go (x86/x64),结果都是一样的。另请注意,我没有使用任何 IDE。我调用 go.exe 从命令行构建/测试。

我无法解决这个问题,因为运行 'go test' 工作得很好。

有什么想法吗?


明月笑刀无情
浏览 226回答 1
1回答

POPMUISE

Go 编程语言规范程序执行一个完整的程序是通过将一个称为主包的单个未导入包与其导入的所有包传递链接来创建的。main 包必须具有包名称 main 并声明一个不带参数且不返回值的函数 main。func main() { … }程序执行首先初始化主包,然后调用函数 main。当该函数调用返回时,程序退出。它不会等待其他(非主)goroutine 完成。使用package main,不是package playground。例如,playground.go:package mainimport (    "fmt"    "playground/another")func main() {    fmt.Println("Hello world!")    fmt.Println(another.Foobar(2))}playground/another.go:package anotherfunc Foobar(i int) int {    return i + 1}输出:你好,世界!3
随时随地看视频慕课网APP

相关分类

Go
我要回答