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

编译与运行

编译go build

  1. 编译当前目录

    go build
    或
    go build .
    
  2. 编译指定文件或目录

    # 编译main文件,将会生成可执行文件
    go build ./main.go
    # 编译指定文件目录p1,不会产生编译文件,仅进行编译检查
    go biuld ./p1
    
  3. main包有多个文件的情况,指定文件编译main包

    编译时必须指定main包的所有文件
    go build ./main.go ./hello.go
    
  4. 编译时指定编译结果输出

    go build -o /out/app ./main.go ./hello.go
    

运行go run

  1. 直接通过go run运行main包,即可运行应用程序

    # 运行应用程序时,指定main包所有文件
    go run ./main.go ./hello.go
    # 运行应用程序时,指定main包所在目录
    go run .
    

交叉编译

交叉编译需要修改GOOS、GOARCH、CGO_ENABLED三个环境变量
GOOS: 目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH: 目标平台的体系架构32位还是64位(386、amd64、arm)
CGO_ENABLED: 是否启用CGO,交叉编译不支持CGO所以要禁用它

Windows编译Linux与Mac可执行程序

# 设置环境变量
$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$GOOS="linux"
# 编译,并输出到app文件
go build -o ./out/app .
# 设置环境变量
$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$GOOS="darwin"
# 编译,并输出到app文件
go build -o ./out/app .

Mac编译Linux与Windows

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ./out/app .
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ./out/app.exe .

Linux编译Mac与Windows

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o ./out/app .
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ./out/app.exe .

http://www.kler.cn/a/287110.html

相关文章:

  • 人工智能领域单词:英文解释
  • 【LeetCode100】--- 寻找重复数
  • 【2024 年度总结】从小白慢慢成长
  • 利用rsync备份全网服务器数据
  • Java基础——概念和常识(语言特点、JVM、JDK、JRE、AOT/JIT等介绍)
  • 锐捷路由器网关RG-NBR6135-E和锐捷交换机 Ruijie Reyee RG-ES224GC 电脑登录web方法
  • C++:二叉树进阶
  • Ubuntu18.04 下安装CUDA
  • 企业IT服务管理(ITSM)的实践与探索
  • 永磁同步电机高性能控制算法(15)——自抗扰控制电流环的详细解读/最新TIE论文解析
  • uni-app 获取当前位置的经纬度以及地址信息
  • NRK3301语音识别芯片免联网实现智能空气炸锅
  • 【系统架构设计师】论文:论混合软件架构的设计
  • NLP从零开始------16.文本中阶处理之序列到序列模型(1)
  • sql-libs第三关详细解答
  • 1412312
  • shell编程--数组
  • Leetcode 77. 组合 组合型回溯 C++实现
  • 【STM32】红外遥控
  • 使用vue如何调用手机摄像头进行拍摄和录像
  • 【BLE】四.SMP安全配对详解
  • 抖音视频如何下载保存到相册:详细教程
  • yolo8 目标检测、鉴黄
  • java利用JXL操作excel
  • 华为OD机试(C卷,100分)- 字符串排序
  • 《JavaEE进阶》----5.<SpringMVC②剩余基本操作(CookieSessionHeader响应)>