go-gtk is a Go language binding for the GTK (GIMP Toolkit) graphical user interface library. It allows Go developers to build native-looking GUI applications using GTK (2.x) under Linux (and Windows, with proper GTK binaries). The repository contains folders mapping GTK modules (gtk, gdk, glib, etc) to Go packages, along with example programs to demonstrate usage. The README notes that GTK development packages must be installed (e.g., libgtk2.0-dev) to build the examples. Go-GTK has over 1,100 commits and shows a serious commitment to bridging Go with desktop GUI frameworks. Because it ties into GTK's C libraries via cgo, it enables event-driven UI programming in Go rather than being purely browser/web based. This makes it interesting for developers who want to build cross-platform desktop applications in Go with the look and feel of GTK. License is BSD-3-Clause, which is permissive.
Features
- Go language bindings to GTK, GDK, GLib and associated modules
- Example/demo programs showing how to build GUI apps in Go with GTK
- Support for image embedding via gtk-pixbuf and inline assets
- Easy installation instructions for Linux/Windows (with pre-reqs)
- Event-driven UI programming model accessible from Go
- Permissive BSD-3-Clause license for commercial or open source use