当程序由os.Exit(...)完成时 所以,无论如何都要保持控制台窗口打开,就像自动运行cmd命令一样。 我不想要一些PAUSE或其他东西的解决方案让它等待关闭。我需要完成退出程序,并保持控制台窗口。
顺便说一句,我认为打开另一个控制台窗口的某种方式,但是使用此代码失败
c :=exec.Command("start")
if err := c.Run(); err != nil {
fmt.Println("Error: ", err)
}
os.Exit(0)

答案 0 :(得分:2)
如果您需要程序完全退出,但保持窗口打开,请从控制台运行该程序。
win+r
cmd
cd myFolder
移至文件夹,cd ..
移动一个文件夹./myBinary.exe
并按Enter 修改强>
要能够双击,在批处理文件中使用暂停是最简单的解决方案:
launch.bat
./myBinary.exe
pause
保存在与二进制文件相同的文件夹中,然后双击以运行。
如果您真的想要,您可以使用您选择的语言编写与该批处理文件相同的程序。
答案 1 :(得分:0)
顺便说一句,我认为打开另一个控制台窗口的某种方式,但是失败了 代码
如果使用 / k 选项使用 cmd.exe 处理器运行 your_executable.exe ,它应运行可执行文件并保留控制台打开。
cmd.exe /k your_executable.exe
答案 2 :(得分:0)
您可以致电fmt.Scanf()
。我知道这是黑客,您不想在生产应用程序中这样做,但是它可以工作。
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
fmt.Scanf("h")
}