基本命令

go mod init fyneTest01

fyneTest01可以随便写。

go get fyne.io/fyne/v2

GOPATH 介绍说明

$GOPATH 是一个环境变量,它指定了你的 Go 工作空间的位置。工作空间中往往包含编译后的包文件和可执行文件。

如何找到它?

go env GOPATH

即可。

成品代码

package main

import (
  "fmt"

  "fyne.io/fyne/v2/app"
  "fyne.io/fyne/v2/widget"
)

func main() {
  a:= app.New()
  w:= a.NewWindow("Gofer gogogo")

  w.SetContent(widget.NewLabel("Gofer gogogo"))
  w.ShowAndRun()

  fmt.Println("close!")
}

Go 要点: go mod tidy

go mod tidy 命令会清理 go.mod 文件,移除不再需要的依赖,并确保所有实际使用的依赖都在文件中声明。同时,它还会更新 go.sum 文件,确保其中的记录是最新的和完整的。

go mod tidy

运行程序

go run .

即可

Go 要点: go run .

参考文档 https://shellytw.medium.com/golang-learning-journey-from-an-ex-javascript-developer-1-go-run-and-packages-d107fdff147

这里的解释简单但是到位。 本教程将都使用这个命令。

Fyne 要点: w.ShowAndRun()

Syntactic Sugar, 亦可以写成

w.Show()
a.Run()

a.run将开启事件循环(Eventloop)

测试代码

  fmt.Println("close!")

Fyne, 你不能同时有两个事件循环, 这是因为事件循环负责处理所有的事件(如用户输入)并协调应用程序中的所有组件和窗口。如果你尝试在同一个应用程序中运行多个事件循环,会导致不一致的状态 只能有一个事件循环。