当我使用命令“go.exe run main.go”运行以下代码时,程序不会在屏幕上打印文本或退出。package mainimport "fmt"func main(){ fmt.Println("Hello world")}go.exe 版本 = go 版本 go.1.5.1 windows/amd64设置GOARCH=386设置 GOBIN=设置 GOEXE=.exe设置 GOHOSTARCH=386设置 GOHOSTOS=windows设置 GOOS=windows设置 GOPATH=C:\project设置 GORACE=设置 GOROOT=C:\Go设置 GOTOOLDIR=C:\Go\pkg\tool\windows_386设置 GO15VENDOREXPERIMENT=设置 CC=gcc设置 GOGCCFLAGS=-m32 -mthreads -fmessage-length=0设置 CXX=g++设置 CGO_ENABLED=1任何想法有什么问题?谢谢
2 回答
冉冉说
TA贡献1877条经验 获得超1个赞
我在 Windows 10 系统上遇到了同样的问题。运行go run main.go
不会打印任何内容,而go build main.go
后跟.\main.exe
会正常工作并打印出“你好,世界”。
问题是由于 Comodo 防病毒软件将 go.exe 进程作为其自动遏制功能的一部分进行了隔离。我相信该go run
命令会编译并尝试将 main.go 的可执行二进制代码加载到同一进程中,这会触发 Auto Containment 以隔离应用程序的输出。
最初的修复是通过 Comodo Antivirus 设置禁用自动遏制。禁用此功能后,go run main.go
开始正常工作。
永久性修复是为 go.exe 可执行文件添加“忽略”规则。这允许启用自动遏制功能但go run
可以正常工作。
千巷猫影
TA贡献1829条经验 获得超7个赞
创建一个名为 ~/sample 的文件夹(其中 ~ 表示您的主目录)在终端中,您可以通过输入以下命令来执行此操作:
mkdir sample
下面是hello world显示程序
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
在我们刚刚创建的文件夹中将其保存为 main.go。打开一个新终端并输入以下内容:
cd sample
go run main.go
- 2 回答
- 0 关注
- 322 浏览
添加回答
举报
0/150
提交
取消