初始化module
go mod init test
下载库
go get github.com/beego/beego/v2@latest
自动解决依赖问题
自动添加、移除未使用的依赖
missing go.sum entry for module providing package xxx
go mod tidy
打包跨平台应用
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o linux main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o win main.go
GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH:目标平台的体系架构(386、amd64、arm)
交叉编译不支持 CGO 所以要禁用它
精简应用体积
# -s 的作用是去掉符号信息。 -w 的作用是去掉调试信息
go build -ldflags "-s -w" main.go
# 使用upx压缩, 可能会有问题
upx -9 -o main-upx main-ldflags