Go を使用したデスクトップ アプリケーションの構築: syscall/js パッケージを使用して、入力要素やイベント リスナーを含むユーザー インターフェイスを作成します。ユーザー入力を抽出して数値に変換します。指定された演算 (加算、減算、乗算、または除算) を実行します。 syscall/js パッケージを使用して結果をユーザーに表示し、DOM に追加します。アプリケーションをビルドし、バイナリを作成します。
Go は、そのパフォーマンスで知られる汎用プログラミング言語です。同時実行サポートと強力な標準ライブラリが特徴です。高スループットを必要とするデスクトップ アプリケーションの構築に最適です。この記事では、Go を使用して強力で効率的なデスクトップ アプリケーションを構築する方法を説明します。
実際的なケースとして、単純な電卓アプリケーションを構築します。このアプリを使用すると、ユーザーは 2 つの数値を入力し、結果を計算する演算子 (加算、減算、乗算、または除算) を選択できます。
新しい Go プロジェクト ディレクトリを作成し、必要なパッケージをインポートします:
package main import ( "fmt" "os" "strconv" ) func main() { // ... }
ネイティブ Go を使用します。言語 パッケージで提供される 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
パッケージを組み合わせることで、応答性の高い低リソースのアプリケーションを作成できます。
以上がGolang を使用して強力で効率的なデスクトップ アプリケーションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。