go语言运行与编译

调试运行

复制下面代码到hello.go文件中

package main

func main() {
  println("Hello world")
}

使用go run hello.go运行测试代码

调试运行会生成一个本地临时文件,运行完毕之后就会自动删除

编译成二进制文件

编译成二进制文件需要用到go build hello.go

windows下运行go build命令会在目录下生成一个二进制可执行文件

注意: go build如果不加文件名,默认会编译文件夹下所有的.go文件,如果编译的文件没有主函数,那么生成的就不是一个可执行文件

交叉编译

在日常工作中,线上机器一般是linux。开发机有可能是Windows,MacOs。这时我们build的代码在线上机可能就没办法运行了。go支持交叉编译, 在一个平台上生成然后再另外一个平台去执行。具体命令如下:
要去linux下执行

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

要去Mac下执行

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go

要去win下执行

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

参数说明

参数参数含义
CGO_ENABLEDCGO_ENABLED 表示CGO禁用,交叉编译中不能使用CGO的
GOOS目标平台 mac 对应 darwin , linux 对应 linux , windows 对应 windows
GOARCH目标平台的体系架构【386,amd64,arm】, 目前市面上的个人电脑一般都是amd64架构的
  • 386 也称 x86 对应 32位操作系统
  • amd64 也称 x64 对应 64位操作系统
  • arm 这种架构一般用于嵌入式开发。 比如 Android , IOS , Win mobile , TIZEN 等
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值