Walk is a "Windows Application Library Kit" for the Go Programming Language.
Its focus is graphical user interfaces but there is some more stuff.
Make sure you have a working Go installation. See Getting Started
Now run go get github.com/lxn/walk
The preferred way to create GUIs with Walk is to use its declarative sub package, as illustrated in this small example:
package main
import (
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
"strings"
)
func main() {
var inTE, outTE *walk.TextEdit
MainWindow{
Title: "SCREAMO",
MinSize: Size{600, 400},
Layout: VBox{},
Children: []Widget{
HSplitter{
Children: []Widget{
TextEdit{AssignTo: &inTE},
TextEdit{AssignTo: &outTE, ReadOnly: true},
},
},
PushButton{
Text: "SCREAM",
OnClicked: func() {
outTE.SetText(strings.ToUpper(inTE.Text()))
},
},
},
}.Run()
}
There are some examples that should get you started.
Walk requires Common Controls 6. This means that you must put an appropriate application manifest file either next to your executable or embedded as a resource.
You can copy one of the application manifest files that come with the examples.
IMPORTANT: Do not launch your executable before the manifest file is in place. If you do anyway, the program will not run properly. And worse, Windows will not recognize a manifest file, you later drop next to the executable. To fix this, rebuild your executable and only launch it with a manifest file in place.