如何在Windows上隐藏Go程序的控制台窗口[重复]

I tried various ways of creating a Go program that only displays either a MessageBox or a standalone GUI window. If I were to write this in C / C++ I would just define a WinMain, leave out the main and I would be good to go. It seems to me that as soon as I define a main function a console window is created automatically. And the main function is compulsory.

package main
func main() {
...
}

To avoid this I tried an example which creates a WinMain

func WinMain(wproc uintptr) {
    hInstance := GetModuleHandle(nil)
    ...
}

But the effect is the same: an empty console window and a GUI window: enter image description here

</div>

Add -ldflags -H=windowsgui to your go build/install command line. You'll see that the console window is absent:

enter image description here