4、go程序和运行


Go语言中使用 go build 命令主要用于编译代码。在包的编译过程中,若有必要,会同时编译与之相关联的包。

参考: go build命令(go语言编译命令)完全攻略

一、直接goland运行

  • 点击运行按钮
    在这里插入图片描述

二、终端运行 go build

# 直接运行
go build

在这里插入图片描述

如果需要指定输出可执行文件名,可以使用-o

go build -o testdata 

在这里插入图片描述

  • go build 编译时的附加参数
-v	编译时显示包名
-p n	开启并发编译,默认情况下该值为 CPU 逻辑核数
-a	强制重新构建
-n	打印编译时会用到的所有命令,但不真正执行
-x	打印编译时会用到的所有命令
-race	开启竞态检测

三、go run

报错undefined,执行的时候使用go run ./ 可以解决
在这里插入图片描述

# go run 如果带文件命,会报错某个导入失败,直接 go run ./
# 可能因为之后一个main, 所以可以这样

在这里插入图片描述

四、golang run时报undefined错误总结

4.1 原因

go run: 会先进行编译操作,而在此处的编译它只会以这个main.go为准,导致引用其他文件出现找不到的情况
go build:不一样,它会自动查找引用文件并打包

4.2 解决办法

参考文章: golang run时报undefined错误

  • 方法一:指定多个文件
    go run main.go a.go

  • 方法二:指定全部文件
    go run *.go

  • 方法三:
    go build


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值