Golang环境安装
windows安装
#官方文档https://go.dev/doc/
去官网下载好go 安装包安装
切换go库的源
命令:go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
vs code安装 go语言扩展 #推荐安装gotemplate-syntax扩展模板
工具栏》查看》命令行:输入 go:install
选择install/update tools
更新相应的库
勾选所有库点击确定更新,会从github安装(如果网络错误则使用代理或者切换go库源)
GUI程序环境
安装TDM-GCC编译器,二选一(推荐)
https://jmeubank.github.io/tdm-gcc/download/
安装好后,将编译器改为gcc:set CC=C:\TDM-GCC-64\bin\gcc.exe
#修改后可以查看环境变量CC=gcc
安装msys2编译器,二选一
https://www.msys2.org/
//官网
//安装完,关闭自动打开的终端,从开始菜单中找到MYS2 MinGW 64-bit启动终端pacman -Syu
#要从MYS2 MinGW 64-bit启动pacman -S git mingw-w64-x86_64-toolchain
//如果询问安装全部,都选是echo "export PATH=\$PATH:/c/Program\ Files/Go/bin:~/Go/bin" >> ~/.bashrc
//将它添加到环境
在我的电脑》属性》高级系统设置》环境变量》系统变量》Path,添加C:\msys64\mingw64\bin
//msys2的安装目录
创建go mod
go mod init myapp
#myapp可以任意名字,确保在软件目录执行该命令
创建main.go:
/*
哈哈哈
我是多行注释
*/
package main //主程序
#需要导入的包
import (
"fmt" //导入基本包
)
var GlobalInt int // 声明全局变量
const CHANGLIANG string = "abc" //声明一个全局常量
#定义主函数
func main() {
fmt.Print("hello world!") //打印
}
记得保存文件
添加图标
//linux系统下无效
在项目目录下创建myapp.rc:1 ICON "myapp.ico"
//编号,类型,文件
//执行命令windres app.rc -O coff -o app.syso
生成执行文件图标
//标题栏图标
import (
_ "embed"
)
//go:embed myapp.ico //指定文件名
var iconBytes []byte
func main() {
a := app.New()
a.SetIcon(fyne.NewStaticResource("myicon.ico", iconBytes)) // 设置应用程序图标
w := a.NewWindow("标题")
w.SetContent(container.NewVBox(makeUI())) // 放入UI容器
w.ShowAndRun()
}
运行
go run .
#调试运行go build .
#构建程序go build -ldflags="-s -w" .
#去掉调试信息减少体积go build -ldflags="-H=windowsgui -s -w" .
#去掉调试信息的GUI程序go version
#查看版本go env
#查看环境变量
移除多余依赖
go mod tidy
#会修改go.sum和go.mod文件确保依赖与实际一致
ubuntu安装
安装go
下载好安装文件cd /home/li/下载
//切换到下载目录
//解压到/usr/localsudo tar -C /usr/local -xzf go1.tar.gz
//假设go1.tar.gz是下载的文件
设置环境sudo gedit ~/.bashrc
在后面添加:
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
source ~/.bashrc
//重载环境go version
//测试是否生效
安装fyne
sudo apt-get install golang gcc libgl1-mesa-dev xorg-dev
//安装gcc编译器
//需要在项目里操作go get fyne.io/fyne/v2@latest
//安装fyne最新版go install fyne.io/fyne/v2/cmd/fyne@latest
//安装fyne帮助文件
交叉编译
在windows的shell中:$env:GOOS='linux'; $env:GOARCH='amd64'; go build -o myapp
去掉调试信息编译:$env:GOOS='linux'; $env:GOARCH='amd64'; go build -ldflags="-s -w" -o myapp
或者分部设置,和上面结果一样,myapp是你程序运行的名字
$env:GOOS = 'linux'
$env:GOARCH = 'amd64'
go build -o myapp
在windows的cmd中就这样:set GOOS=linux && set GOARCH=amd64 && go build -o myapp
windows中编译在arm机器上的Linux程序:$env:GOOS='linux'; $env:GOARCH='arm'; $env:GOARM='7'; go build -o myapp
GOOS的选项:
windows
linux
darwin
换回windows条件:$env:GOOS='windows'; $env:GOARCH='amd64';