go help build

构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果.

使用

go build [-o 输出名] [-i] [编译标记] [包名]

如果参数为***.go文件或文件列表,则编译为一个个单独的包。
当编译单个main包(文件),则生成可执行文件。
当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。
当编译包时,会自动忽略'_test.go'的测试文件。

参数

-o

output 指定编译输出的名称,代替默认的包名。

-i

install 安装作为目标的依赖关系的包(用于增量编译提速)。

以下 build 参数可用在 build, clean, get, install, list, run, test

-a完全编译,不理会-i产生的.a文件(文件会比不带-a的编译出来要大?)
-n仅打印输出build需要的命令,不执行build动作(少用)。
-p n开多少核cpu来并行编译,默认为本机CPU核数(少用)。
-race同时检测数据竞争状态,只支持 linux/amd64, freebsd/amd64, darwin/amd64 和 windows/amd64.
-msan启用与内存消毒器的互操作。仅支持linux / amd64,并且只用Clang / LLVM作为主机C编译器(少用)。
-v打印出被编译的包名(少用).
-work打印临时工作目录的名称,并在退出时不删除它(少用)。
-x同时打印输出执行的命令名(-n)(少用).
-asmflags 'flag list'传递每个go工具asm调用的参数(少用)
-buildmode mode编译模式(少用)'go help buildmode'
-compiler name使用的编译器 == runtime.Compiler(gccgo or gc)(少用).
-gccgoflags 'arg list'gccgo 编译/链接器参数(少用)
-gcflags 'arg list'垃圾回收参数(少用).
-installsuffix suffix??????不明白a suffix to use in the name of the package installation directory,in order to keep output separate from default builds.If using the -race flag, the install suffix is automatically set to raceor, if set explicitly, has _race appended to it.  Likewise for the -msanflag.  Using a -buildmode option that requires non-default compile flagshas a similar effect.
-ldflags 'flag list''-s -w': 压缩编译后的体积-s: 去掉符号表-w: 去掉调试信息,不能gdb调试了
-linkshared链接到以前使用创建的共享库-buildmode=shared.
-pkgdir dir从指定位置,而不是通常的位置安装和加载所有软件包。例如,当使用非标准配置构建时,使用-pkgdir将生成的包保留在单独的位置。
-tags 'tag list'构建出带tag的版本.
-toolexec 'cmd args'??????不明白a program to use to invoke toolchain programs like vet and asm.For example, instead of running asm, the go command will run'cmd args /path/to/asm <arguments for asm>'.

以上命令,单引号/双引号均可。

对包的操作'go help packages'
对路径的描述'go help gopath'
对 C/C++ 的互操作'go help c'

注意

构建遵守某些约定('go help gopath'),但不是所有的项目都遵循这些约定,当使用自己的惯例或使用单独的软件构建系统时可以选择使用较低级别的调用go tool compilego tool link来避免一些构建工具的开销和设计决策

go build命令详解相关推荐

  1. docker build命令详解_Docker镜像与容器常用命令图文详解

    一.系统命令 #查看docker版本 docker version #查看docker的系统信息,包含镜像容器的数量 docker info #查看docker的所有命令 docker --help ...

  2. docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器

    本文你能学到什么 Docker 是什么 Docker 概念 关于 Docker 的概念是确实不太好总结,下面我通过四点向你说明 Docker 到底是个什么东西. Docker 是世界领先的软件容器平台 ...

  3. docker build命令详解_『中级篇』docker之java容器运行外置springboot-jar(番外篇)(79)...

    学了docker这么久终于开始实战了,所有部署方式全部使用docker的方式感觉特别爽,我这里分享下,我部署springboot的富jar包. 下载java的镜像 docker pull java:o ...

  4. Docker(45)- docker build 命令详解

    docker build 命令原理 docker build 命令从 Dockerfile 和上下文构建镜像 构建的上下文:位于指定 PATH 或 URL 中的一组文件 构建过程可以引用上下文中的任何 ...

  5. docker build命令详解

    docker build命令用于根据给定的Dockerfile和上下文以构建Docker镜像. docker build命令的使用格式: docker build [OPTIONS] <PATH ...

  6. Ant命令详解和build.xml

    1.Ant命令详解 Ant项目文件的构建可编译,包,测试.这是Apache软件基金会jakarta一个子项目,具有跨平台性,操作简单,并且非常好上手 1.直接执行ant,当前build.xml文件下直 ...

  7. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  8. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  9. Dockerfile命令详解

    使用docker就会避免不了的要做各种镜像,就会用到dockerfile,记录一下dockerfile的主要命令 1.主要组成部分     dockerfile执行build命令时,是从上倒下依次执行 ...

最新文章

  1. Oracle中查看表空间的使用率的脚本
  2. 想转行ML/AI却没有方向?这篇指南告诉你!
  3. 优化定制化abap代码必须遵守的经典黄金规则
  4. eclipse光标变成黑块变粗解决办法
  5. 惊天大神坑 关于 python-socketio 与 socket.io-client 版本兼容问题
  6. ionic3 cordova ionic-native插件
  7. 百度开源业内首个口罩人脸检测及分类模型,携手开发者共同“抗疫”
  8. pandas dataframe按行或列求和
  9. Maven学习总结(45)——Maven仓库、将本地Jar包安装到仓库、打可执行的Jar总结
  10. linux实现设备在uboot状态下利用TFTP和NFS加载内核镜像和根文件系统
  11. 1H413000工业机电工程安装技术—— 1H413020电气工程安装技术
  12. xvidcore-1.3.2\xvidcore\dshow 工程编译
  13. Android常用库整理
  14. Node - 从0基础到实战企业官网
  15. 孕妇睡眠质量差怎么办?如何提高睡眠质量?
  16. phpcms v9摆脱手机门户,轻松搭建wap手机站
  17. GIT 知识收集-GIT banch 没有显示
  18. 区块链技术应用落地区块链溯源应用
  19. 如何练习插画?插画应该如何构图?
  20. Android P 适配

热门文章

  1. 大数据销售管理服务提供商InsideSales获得1亿美元融资
  2. Formal Languages and Compilers-LL(1),FIRST and FOLLOW
  3. DNS的子域授权和转发机制,view设置
  4. DVB-C系统中QAM调制与解调仿真
  5. 6种编写程序代码的方法
  6. socket绑定INADDR_ANY
  7. C/C++ 实现的websocket客户端
  8. 处理大并发之四 libevent demo详细分析(对比epoll)
  9. 2021-11-05 虚拟机centos7更改root与home分区大小
  10. macOS下安装dlib踩坑记录