go build

go build

作用:将Go语言程序和相关依赖编译成可执行文件

go build 无参数编译

生成当前目录名的可执行文件并放置于当前目录下,如:

go build

go build+文件列表

编译同目录的多个源码文件时,可以在 go build 的后面提供多个文件名,go build 会编译这些源码,输出可执行文件,“go build+文件列表”的格式如下:
go build file1.go file2.go…
可执行文件默认选择文件列表中第一个源码文件作为可执行文件名输出,如:

go build upload.go main.go

使用“go build+文件列表”编译方式编译时,文件列表中的每个文件必须是同一个包的 Go 源码。
注意:如果go build main.go,但是main.go调用了同包的其他文件,会报错。

$ tree -L 2
└── main├── main.go└── hello.go

main.go内容如下:

package mainfunc main() {println("this is function main")hello()println(A)
}

hello.go内容如下:

package mainvar A string = "AA"func hello() {println("this is function hello")
}

因为同一个包下,并没有import语句,不会自动导入。解决:go build main.go hello.go

$ go build main.go
# command-line-arguments
.\main.go:5:2: undefined: hello
.\main.go:6:10: undefined: A

go build+包

可以直接根据包名进行编译,即便包内文件被增(加)删(除)也不影响编译指令。

下面的命令用于构建同一个包,虽然它们的写法各不相同:

$ cd $GOPATH/src/gopl.io/ch1/helloworld
$ go build

或者

$ cd anywhere
$ go build gopl.io/ch1/helloworld

或者

$ cd $GOPATH
$ go build ./src/gopl.io/ch1/helloworld

但不能这样

$ cd $GOPATH
$ go build src/gopl.io/ch1/helloworld
Error: cannot find package "src/gopl.io/ch1/helloworld".

go build 还有一些附加参数,可以显示更多的编译信息和更多的操作,详见下表所示。

附加参数备 注
-v编译时显示包名
-p n开启并发编译,默认情况下该值为 CPU 逻辑核数
-a强制重新构建
-n打印编译时会用到的所有命令,但不真正执行
-x打印编译时会用到的所有命令
-race开启竞态检测,常用于并发模式下的共享变量检测
-o后接文件名,强制对输出的文件进行重命名
-work打印编译工作的临时目录
-gcflags后面的参数可以是多个,用空格进行分隔,并用 ""进行包裹,这些参数将传递到 go tool compile 工具中进行调用。例如,go build -gcflags "-l -m"
-ldflags后面的参数可以是多个,用空格进行分隔,并用 ""进行包裹,这些参数将传递到 go tool link 工具中进行调用。例如,go build -ldflags “-w -s”。这个命令可以隐藏所有代码实现相关的信息,并减少生成文件的大小。其中,-w 可以移除调试信息(无法使用gdb 调试),-s 可以移除符号表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/693495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言:幂的末尾

题目描述 a^b的末3位数是多少&#xff1f; 输入输出格式 输入格式 两个正整数a&#xff0c;b。1≤a≤100&#xff0c;1≤b≤10000。 输出格式 从高位到低位输出幂的末三位数字&#xff0c;中间无分隔符。若幂本身不足三位&#xff0c;在前面补零。 完整代码 #include <std…

vim 实用快捷键

文章目录 1. 翻页2. 字跳转3. 单行编辑4. 多行操作 1. 翻页 快捷键含义快捷记录ctrl-u上翻半页upctrl-d下翻半页downctrl-f上翻一页forwardctrl-b下翻一页backward 2. 字跳转 快捷键含义快捷记录b跳到上一个字首beforeB跳到上一个字首&#xff0c;长跳e跳到下一个字尾endE跳…

QT设置窗口随窗体变化(窗口文本框随窗体的伸缩)

目录 1.建立新窗口2.最终效果 1.建立新窗口 1&#xff09;在窗体中创建一个 textBrowser&#xff0c;记录坐标及宽高 X-100 Y-130 宽-571 高-281&#xff0c;窗体宽高800*600&#xff1b; 2&#xff09;在.h头文件中插入void resizeEvent(QResizeEvent *event) override;函数 …

深度学习之pytorch 中 torch.nn介绍

1. torch.nn 介绍 pytorch 中必用的包就是 torch.nn&#xff0c;torch.nn 中按照功能分&#xff0c;主要如下有几类&#xff1a; 1. Layers&#xff08;层&#xff09;&#xff1a;包括全连接层、卷积层、池化层等。 2. Activation Functions&#xff08;激活函数&#xff09…

速盾网络:有什么不用备案的CDN吗?

备案是指将网站相关信息提交给当地通信管理部门进行备案登记&#xff0c;以确保网站的合法性和规范运营。然而&#xff0c;对于一些特定的CDN服务&#xff0c;是否存在不用备案的情况呢&#xff1f;让我们来了解一下速盾网络在这方面的看法和实践。 备案与CDN服务 在中国大陆…

在qml中的ShaderEffect在arm板的3568的系统上是用GPU渲染的吗

在QML中的ShaderEffect通常是利用GPU进行渲染的。 ShaderEffect 是 Qt Quick 提供的一个功能强大的组件&#xff0c;它允许开发者在 QML 层面实现像素级别的操作。这个组件的设计目的就是为了充分利用 GPU 的强大计算能力来进行图形渲染。因此&#xff0c;当你在 QML 中使用 S…

挑战!贪吃蛇小游戏的实现(3)

经过&#xff08;1&#xff09;&#xff08;2&#xff09;两篇文章的介绍&#xff0c;相信大家对该游戏的实现已经有了具体的思路&#xff0c;废话不多说&#xff0c;让我们开始实现相关的代码吧&#xff01; 1.游戏主逻辑 void test() {int ch 0;srand((unsigned int)time(NU…

【Unity3D】ASE制作天空盒

找到官方shader并分析 下载对应资源包找到\DefaultResourcesExtra\Skybox-Cubed.shader找到\CGIncludes\UnityCG.cginc观察变量, 观察tag, 观察代码 需要注意的内容 ASE要处理的内容 核心修改 添加一个Custom Expression节点 code内容为: return DecodeHDR(In0, In1);outp…

JavaSpringBoot中,Mybatis plus 语法展示

目录 语法展示 基础的增删改查 分页查询 语法指导 删除操作 条件操作 语法展示 Mapper public interface UserMapper extends BaseMapper<User> {} public interface UserService extends IService<User> {} Service public class UserServiceImpl extends…

在Win系统部署WampServer并实现公网访问本地服务【内网穿透】

目录 推荐 前言 1.WampServer下载安装 2.WampServer启动 3.安装cpolar内网穿透 3.1 注册账号 3.2 下载cpolar客户端 3.3 登录cpolar web ui管理界面 3.4 创建公网地址 4.固定公网地址访问 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0…

企业资产|企业资产管理系统|基于springboot企业资产管理系统设计与实现(源码+数据库+文档)

企业资产管理系统目录 目录 基于springboot企业资产管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、用户审核管理 3、资产分类管理 4、资产信息管理 5、资产信息添加 6、资产借出统计 7、资产归还审核 8、资产维修管理 9、资产维修…

事务的4大特性、隔离级别、传播机制

目录 一、4大特性&#xff08;ACID&#xff09;二、隔离级别三、传播机制 一、4大特性&#xff08;ACID&#xff09; 原子性&#xff08;A&#xff09;&#xff1a;在一个事务中&#xff0c;要么全部成功&#xff0c;要么全部失败。一致性&#xff08;C&#xff09;&#xff1…

effective c++ 笔记 条款26-31

条款 26&#xff1a;尽可能延后变量定义式出现的时间 应该延后变量的定义&#xff0c;直到非得使用该变量的前一刻为止&#xff0c;甚至应该尝试延后这份定义直到能够给它初值实参为止&#xff0c;以此避免构造&#xff08;和析构&#xff09;非必要对象&#xff0c;还可以避免…

c++笔记理解

1.封装 &#xff08;1&#xff09;构造函数不是必须在的 可以通过行为修改属性 &#xff08;2&#xff09;private和protected区别在于继承那里要学 &#xff08;3&#xff09;类默认是私有&#xff0c;struct是共有 私有的好处&#xff1a;控制数据的有效性&#xff0c;意…

编程笔记 Golang基础 012 项目构建

编程笔记 Golang基础 012 项目构建 一、模块&#xff08;Module&#xff09;、包&#xff08;Package&#xff09;和文件二、项目结构三、VsCode项目管理四、Goland项目管理五、工作空间小结 如何构建和组织一个项目&#xff0c;是学习该语言编程的开始。 一、模块&#xff08;…

MySQL 8.0.36 WorkBench安装

一、下载安装包 百度网盘链接&#xff1a;点击此处下载安装文件 提取码&#xff1a;hhwz 二、安装&#xff0c;跟着图片来 选择Custom,然后点Next 顺着左边框每一项的加号打开到每一个项的最底层&#xff0c;点击选中最底层的项目&#xff0c;再点击传过去右边的绿色箭头&a…

Codeforces Round 530 (Div. 2)

CF1099A Snowball 题目 有一个重量为 w 的雪球正在高度为 h 的地方向下滚动。每秒它的高度会减少 1。同时在高度 i 的位置它的重量会增加 i&#xff08;包括初始位置&#xff09; 同时在滚动的路线上有 2 块石头&#xff0c;第 i 块石头的高度为 hi​&#xff0c;即雪球会在 hi…

【论文阅读|基于 YOLO 的红外小目标检测的逆向范例】

基于 YOLO 的红外小目标检测的逆向范例 摘要1 引言2 相关工作2.1 逆向推理2.2 物体检测方法 3 方法3.1 总体架构3.2 逆向标准的可微分积分 4 实验4.1 数据集和指标4.2 实验环境4.4 OL-NFA 为少样本环境带来稳健性 5 结论 论文题目&#xff1a; A Contrario Paradigm for YOLO-b…

详解 leetcode_078. 合并K个升序链表.小顶堆实现

/*** 构造单链表节点*/ class ListNode{int value;//节点值ListNode next;//指向后继节点的引用public ListNode(){}public ListNode(int value){this.valuevalue;}public ListNode(int value,ListNode next){this.valuevalue;this.nextnext;} }package com.ag; import java.ut…