Bina aplikasi desktop dengan Go: Gunakan pakej syscall/js untuk mencipta antara muka pengguna, termasuk elemen input dan pendengar acara. Ekstrak input pengguna dan tukarkannya kepada nombor. Melakukan operasi yang ditentukan (tambah, tolak, darab atau bahagi). Gunakan pakej syscall/js untuk memaparkan hasil kepada pengguna dan tambahkannya pada DOM. Bina aplikasi dan buat binari.
Go ialah bahasa pengaturcaraan tujuan umum yang terkenal dengan prestasi, sokongan konkurensi dan perpustakaan standard yang berkuasa. Ia sesuai untuk membina aplikasi desktop yang memerlukan daya pemprosesan yang tinggi. Artikel ini akan membimbing anda membina aplikasi desktop yang berkuasa dan cekap menggunakan Go.
Sebagai kes praktikal, kami akan membina aplikasi kalkulator mudah. Apl ini akan membenarkan pengguna memasukkan dua nombor dan memilih operator (penambahan, penolakan, pendaraban atau pembahagian) untuk mengira hasilnya.
Buat direktori projek Go baharu dan import pakej yang diperlukan:
package main import ( "fmt" "os" "strconv" ) func main() { // ... }
Kami akan membina aplikasi kami menggunakan syscall
yang disediakan dalam pakej bahasa Go asli Antara muka pengguna program. Ini membolehkan kami berinteraksi secara langsung dengan sistem tetingkap sistem pengendalian. syscall
构建我们的应用程序的用户界面。这使我们能够直接与操作系统的窗口系统交互。
import ( "syscall/js" ) // 创建一个 HTML 输入元素 input := js.Global().Get("document").Call("createElement", "input") input.Set("type", "number") input.Set("id", "num1") // 为输入元素添加事件监听器 input.Call("addEventListener", "input", js.FuncOf(func(js.Value, []js.Value) interface{} { // ... return nil }))
使用 syscall/js
包可以轻松处理用户输入。
// 获取输入元素 num1 := js.Global().Get("document").Call("getElementById", "num1").Get("value") // 将输入转换为数字 num1f, err := strconv.ParseFloat(num1.String(), 64) if err != nil { // 如果转换失败,则显示错误信息 // ... }
计算结果很简单。
switch op { case "+": result = num1f + num2f case "-": result = num1f - num2f case "*": result = num1f * num2f case "/": result = num1f / num2f }
我们使用 syscall/js
包将结果显示给用户。
// 创建一个 HTML 元素来显示结果 resultElem := js.Global().Get("document").Call("createElement", "p") resultElem.Set("innerText", fmt.Sprintf("结果:%.2f", result)) // 将结果元素添加到 DOM 中 js.Global().Get("document").Get("body").Call("appendChild", resultElem)
按照上述步骤构建完应用程序后,您可以使用 go build
命令将其构建成二进制文件。
本教程演示了如何使用 Go 构建一个强大而高效的桌面应用程序。通过结合 Go 的性能、并发性支持和 syscall/js
rrreee
syscall/js
untuk mengendalikan input pengguna dengan mudah. 🎜rrreee🎜Lakukan pengiraan🎜🎜Mengira keputusan adalah mudah. 🎜rrreee🎜Paparkan hasil🎜🎜Kami menggunakan pakej syscall/js
untuk memaparkan hasil kepada pengguna. 🎜rrreee🎜Membina aplikasi🎜🎜Selepas anda membina aplikasi anda mengikut langkah di atas, anda boleh membinanya menjadi binari menggunakan perintah go build
. 🎜🎜Kesimpulan🎜🎜Tutorial ini menunjukkan cara membina aplikasi desktop yang berkuasa dan cekap menggunakan Go. Dengan menggabungkan prestasi Go, sokongan serentak dan pakej syscall/js
, anda boleh mencipta aplikasi responsif dan sumber rendah. 🎜Atas ialah kandungan terperinci Bina aplikasi desktop yang berkuasa dan cekap dengan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!