在Debian系统上开发前,需先安装Golang。打开终端,执行以下命令安装最新稳定版Golang:
sudo apt update
sudo apt install golang
安装完成后,通过go version验证安装是否成功。
Debian环境下常用的Golang GUI库各有特点,推荐优先选择Fyne(跨平台、易上手)或GTK(成熟、原生支持):
在终端执行以下命令安装Fyne:
go get fyne.io/fyne/v2
Fyne会自动处理依赖,无需额外安装系统库。
创建main.go文件,输入以下代码:
package main
import (
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
// 1. 创建应用实例
myApp := app.New()
// 2. 创建窗口
myWindow := myApp.NewWindow("Hello Fyne")
// 3. 创建控件:标签和按钮
hello := widget.NewLabel("Hello, Fyne!")
button := widget.NewButton("Click Me", func() {
hello.SetText("Welcome to Fyne!") // 点击按钮更新标签文本
})
// 4. 使用垂直布局(VBox)组织控件
myWindow.SetContent(container.NewVBox(
hello,
button,
))
// 5. 显示窗口并运行应用
myWindow.ShowAndRun()
}
代码说明:
app.New():创建新的应用实例;myApp.NewWindow():创建新窗口;widget.NewLabel()/widget.NewButton():创建标签和按钮控件;container.NewVBox():垂直布局管理器,将控件按垂直方向排列;ShowAndRun():显示窗口并进入主事件循环。在终端执行以下命令运行应用:
go run main.go
程序会弹出一个窗口,显示“Hello, Fyne!”和一个按钮,点击按钮后标签文本会变为“Welcome to Fyne!”。
在终端执行以下命令安装GTK3开发库:
sudo apt install libgtk-3-dev
安装完成后,系统会包含GTK的头文件和库文件。
创建main.go文件,输入以下代码:
package main
import (
"github.com/mattn/go-gtk/gtk"
)
func main() {
// 初始化GTK
gtk.Init(nil)
// 创建新窗口
window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL)
window.SetTitle("Hello GTK")
window.Connect("destroy", gtk.MainQuit) // 点击关闭按钮时退出程序
// 创建标签
label := gtk.NewLabel("Hello, GTK!")
// 将标签添加到窗口
window.Add(label)
// 设置窗口大小
window.SetSizeRequest(200, 100)
// 显示所有控件
window.ShowAll()
// 进入GTK主事件循环
gtk.Main()
}
代码说明:
gtk.Init(nil):初始化GTK库;gtk.NewWindow():创建新窗口;Connect("destroy", gtk.MainQuit):绑定窗口关闭事件;gtk.Main():启动GTK事件循环,等待用户操作。在终端执行以下命令运行应用:
go run main.go
程序会弹出一个窗口,显示“Hello, GTK!”,点击关闭按钮可退出程序。