Walk adalah "Kit Perpustakaan Aplikasi Windows" untuk bahasa pemrograman Go.
Ini terutama berguna untuk pengembangan GUI desktop, tetapi ada beberapa hal lagi.
Pastikan Anda memiliki instalasi GO yang berfungsi. Lihat Memulai
Berjalan saat ini membutuhkan go 1.11.x atau lebih baru.
Sekarang jalankan go get github.com/lxn/walk
Cara yang disukai untuk membuat GUI dengan berjalan adalah dengan menggunakan paket sub Deklaratifnya, seperti yang diilustrasikan dalam contoh kecil ini:
test.go 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 ()
}test.manifest manifes.Manifest <? xml version = " 1.0 " encoding = " UTF-8 " standalone = " yes " ?>
< assembly xmlns = " urn:schemas-microsoft-com:asm.v1 " manifestVersion = " 1.0 " >
< assemblyIdentity version = " 1.0.0.0 " processorArchitecture = " * " name = " SomeFunkyNameHere " type = " win32 " />
< dependency >
< dependentAssembly >
< assemblyIdentity type = " win32 " name = " Microsoft.Windows.Common-Controls " version = " 6.0.0.0 " processorArchitecture = " * " publicKeyToken = " 6595b64144ccf1df " language = " * " />
</ dependentAssembly >
</ dependency >
< application xmlns = " urn:schemas-microsoft-com:asm.v3 " >
< windowsSettings >
< dpiAwareness xmlns = " http://schemas.microsoft.com/SMI/2016/WindowsSettings " >PerMonitorV2, PerMonitor</ dpiAwareness >
< dpiAware xmlns = " http://schemas.microsoft.com/SMI/2005/WindowsSettings " >True</ dpiAware >
</ windowsSettings >
</ application >
</ assembly >Kemudian kompilasi manifes menggunakan alat RSRC, seperti ini:
go get github.com/akavel/rsrc
rsrc -manifest test.manifest -o rsrc.syso
atau ganti nama file test.manifest ke test.exe.manifest dan mendistribusikannya dengan aplikasi sebagai gantinya.
Di direktori yang berisi test.go .
go build
Untuk menyingkirkan jendela CMD, alih -alih jalankan
go build -ldflags="-H windowsgui"
test.exe
Ada beberapa contoh yang seharusnya membuat Anda memulai.
Walk membutuhkan kontrol umum 6. Ini berarti bahwa Anda harus meletakkan file manifes aplikasi yang sesuai baik di sebelah Anda yang dapat dieksekusi atau tertanam sebagai sumber daya.
Anda dapat menyalin salah satu file manifes aplikasi yang disertakan dengan contoh.
Untuk menyematkan file manifes sebagai sumber daya, Anda dapat menggunakan alat RSRC.
PENTING: Jika Anda tidak menanamkan manifes sebagai sumber daya, maka Anda tidak boleh meluncurkan Executable sebelum file manifes sudah ada. Jika Anda melakukannya, program tidak akan berjalan dengan baik. Dan lebih buruk lagi, Windows tidak akan mengenali file manifes, Anda kemudian turun di sebelah yang dapat dieksekusi. Untuk memperbaikinya, membangun kembali executable Anda dan hanya meluncurkannya dengan file manifes yang ada.
Loop pesan default biasa mencakup panggilan ke Win32 API Functions, yang menimbulkan jumlah overhead runtime yang layak datang dari Go. Sebagai alternatif untuk ini, Anda dapat mengkompilasi berjalan menggunakan implementasi C opsional dari loop pesan utama, dengan melewati tag build walk_use_cgo :
pergi membangun -tags walk_use_cgo