当前位置: 首页 > news >正文

Golang - go build打包文件

Go编译打包文件
1、简单打包
程序 main1.go:

package mainimport "fmt"func main() {fmt.Println("Hello World!")
}


打包:

# 在linux服务上执行下面的3个命令

# linux平台,生成main1可执行程序
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main1.go
# windows平台,生成main1.exe可执行程序
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main1.go
# mac平台,生成main1可执行程序
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main1.go



执行:

$ ./main1
Hello World!


2、打包时为程序中的变量设置值
程序 main2.go :

package mainimport "fmt"var (VERSION stringBUILD_TIME stringGO_VERSION string
)func main() {fmt.Printf("%s\n%s\n%s\n", VERSION, BUILD_TIME, GO_VERSION)
}


打包:打包方式和上面一样,这里只介绍linux下的打包。

# 在linux服务上执行下面的命令

# linux平台,生成main2可执行程序
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-X main.VERSION=1.0.0 -X 'main.BUILD_TIME=`date`' -X 'main.GO_VERSION=`go version`'" main2.go



执行:

# 输出的时间为打包时的时间
$ ./main2
1.0.0
2023年 06月 14日 星期三 10:13:06 CST
go version go1.18.4 linux/amd64


3、打包时指定名称

# 生成linux-main1可执行文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o linux-main1 main1.go


执行:

$ ./linux-main1
Hello World!


go build的时候还有别的其它参数,如果有需要请查询相关文档。
 

http://www.lryc.cn/news/155505.html

相关文章:

  • Java的归并排序
  • B. The Walkway Codeforces Round 893 (Div. 2)
  • 第四篇 DirectShow 采集调用结构关系
  • 2605. 从两个数字数组里生成最小数字
  • 服务器发送事件Server-sent events详解与示例
  • SOLIDWORKS 多实体的建模方式
  • NSSCTF web 刷题记录1
  • 遥感指数数据库
  • 如何让insert程序速度快,可以试试联合SQL(insert 和 select 一起使用)?
  • IP地址、网关、网络/主机号、子网掩码关系
  • 使用skvideo.io.vread读取avi视频,报错“No way to determine width or height from video...”
  • Nomad 系列-安装
  • 网络版五子棋C++实现
  • 项目招标投标公众号小程序开源版开发
  • 华为OD机试-机器人走迷宫
  • Jenkins搭建步骤Linux环境
  • 2023 AZ900备考
  • 青翼科技基于VITA57.1的16路数据收发处理平台产品手册
  • Ansible_自动化运维实战(一)
  • 说说Flink中的State
  • 适合心理法律在线咨询预约含视频图文电话咨询功能的小程序开发
  • Redis-Cluster集群操作--添加节点、删除节点
  • ModaHub魔搭社区:星环科技向量数据库Hippo社区版来啦
  • gitHub添加ssh
  • sql:SQL优化知识点记录(十)
  • STM32 RTC实验
  • C#设计打开文件
  • mysql指令行登录如何添加mysql.sock的配置?(亲测)
  • Git 设置和清除用户名和邮箱
  • 【系统设计系列】 回顾可扩展性