在golang中,如何在程序完成后保持控制台窗口打开,双击启动exe

go-*_*016 5 windows go

在 Windows 中双击 .exe 启动,当程序由 os.Exit(...) 完成时,无论如何,是否有保持控制台窗口打开的方式,就像自动运行 cmd 命令一样。我不想要一些带有暂停或其他一些东西的解决方案让它等待关闭。我需要完成退出程序,并保留控制台窗口。

顺便说一句,我想以某种方式打开另一个控制台窗口,但使用此代码失败

c :=exec.Command("start")

	if err := c.Run(); err != nil {
		fmt.Println("Error: ", err)
	}
	os.Exit(0)
Run Code Online (Sandbox Code Playgroud)

Clo*_*nch 6

你可以打电话fmt.Scanf()。我知道这是黑客行为,您不会想在生产应用程序中执行此操作,但它确实有效。

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
    fmt.Scanf("h")
}
Run Code Online (Sandbox Code Playgroud)


Fil*_*und 4

如果您需要程序完全退出,但保持窗口打开,请从控制台运行该程序。

  1. win+r
  2. 类型cmd
  3. 进入
  4. 导航到包含二进制文件的文件夹,使用cd myFolder移入文件夹,然后cd ..上移一个文件夹
  5. ./myBinary.exe通过键入并按 Enter运行二进制文件
  6. 二进制文件完成运行,控制台保持打开状态。

编辑:
为了能够双击,在批处理文件中使用暂停是最简单的解决方案:

启动.bat

./myBinary.exe
pause
Run Code Online (Sandbox Code Playgroud)

与二进制文件保存在同一文件夹中,然后双击运行。

如果您确实愿意,可以用您选择的语言编写一个程序,该程序与批处理文件执行相同的操作。