Rumah >pembangunan bahagian belakang >Golang >Mari kita bercakap tentang cara menggunakan perpustakaan berjalan di golang

Mari kita bercakap tentang cara menggunakan perpustakaan berjalan di golang

PHPz
PHPzasal
2023-04-03 09:19:332631semak imbas

Bahasa pengaturcaraan Go ialah bahasa yang telah berkembang pesat dalam beberapa tahun kebelakangan ini dan semakin banyak digunakan dalam pembangunan aplikasi. Dalam bahasa Go, banyak fungsi perpustakaan disediakan untuk memudahkan pembangun, termasuk perpustakaan walk. Pustaka

Walk menyediakan perpustakaan antara muka pengguna grafik (GUI) merentas platform yang boleh digunakan untuk membangunkan aplikasi berasaskan desktop. Perpustakaan ini tersedia untuk sistem pengendalian Windows dan Linux dan mudah digunakan. Mari mulakan dengan cara menggunakan perpustakaan ini.

Langkah pertama ialah memasang pustaka walk

Memandangkan pustaka walk ialah pustaka pihak ketiga bagi bahasa Go, anda perlu memasangnya terlebih dahulu. Kaedah pemasangan adalah seperti berikut:

go get github.com/lxn/walk

Arahan di atas akan memuat turun perpustakaan walk secara automatik daripada GitHub dan memasangnya Selepas pemasangan selesai, tambahkan pustaka walk pada kod anda:

import "github.com/lxn/walk"

Langkah kedua ialah mencipta borang pertama anda

Buat fail hello.go baharu dan tulis kod berikut:

package main

import (
    "fmt"
    "github.com/lxn/walk"
    . "github.com/lxn/walk/declarative"
)

func main() {
    var mainWindow *walk.MainWindow

    err := MainWindow{
        Title:   "Hello World",
        MinSize: Size{Width: 300, Height: 200},
        Layout:  VBox{},
        Children: []Widget{
            Label{
                Text: "Hello, world!",
            },
            PushButton{
                Text: "Click Me!",
                OnClicked: func() {
                    fmt.Println("Button Clicked!")
                },
            },
        },
    }.Create(&mainWindow)

    if err != nil {
        fmt.Println(err)
        return
    }

    mainWindow.Run()
}

Jalankan atur cara:

go run hello.go

Jika semuanya berjalan lancar, anda seharusnya melihat tetingkap dengan label dan butang.

Hello World

Langkah ketiga, tulis aplikasi yang lebih kompleks

Seterusnya, kami akan menulis aplikasi yang lebih kompleks sedikit: aplikasi yang mengandungi butang dan tetingkap dengan kotak teks. Apabila pengguna mengklik butang, mesej akan dipaparkan dalam kotak teks.

package main

import (
    "github.com/lxn/walk"
    . "github.com/lxn/walk/declarative"
)

func main() {
    var inTE *walk.TextEdit
    var outTE *walk.TextEdit

    MainWindow{
        Title:   "Hello Golang",
        MinSize: Size{Width: 300, Height: 200},
        Layout:  VBox{},
        Children: []Widget{
            TextEdit{
              AssignTo: &inTE,
              ReadOnly: false,
            },
            TextEdit{
              AssignTo: &outTE,
              ReadOnly: true,
              Text:     "Click the 'Say Hi' button to see a greeting.",
            },
            PushButton{
              Text: "Say Hi",
              OnClicked: func(){
                userMessage := inTE.Text()
                greeting := "Hello, " + userMessage + "!"
                outTE.SetText(greeting)
              },
            },
        },
    }.Run()
}

Proses pengendalian aplikasi ini adalah seperti berikut:

  1. Pengguna memasukkan namanya dalam kotak teks
  2. Pengguna mengklik " Butang Say Hi"
  3. Atur cara menjana ucapan berdasarkan nama yang dimasukkan oleh pengguna dan memaparkannya dalam kotak teks lain

Hello Golang

Di atas hanyalah beberapa contoh mudah, Walk Perpustakaan juga menyediakan banyak komponen dan alatan lain untuk memenuhi keperluan yang berbeza secara fleksibel. Jika anda ingin mengetahui lebih lanjut tentang perpustakaan Walk, sila rujuk dokumentasi rasmi.

Atas ialah kandungan terperinci Mari kita bercakap tentang cara menggunakan perpustakaan berjalan di golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn