go build和go install的区别介绍

 更新时间:2020年12月14日 16:42:21   作者:天已青色等烟雨来  
这篇文章主要介绍了go build和go install的区别介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

go build:

go build 用于编译包生成可执行文件,必须有main包才可以

go install:

go install 的作用有两个:主要用来生成库和工具,(如果有main包)编译后生成的可执行工具文件放到 bin 目录、$GOPATH/bin,编译后的库文件放到 pkg 目录下($GOPATH/pkg)

补充:go build 命令

简介

1、用于编译源码文件或代码包

-编译非命令源码文件不会产生任何结果文件

-编译命令源码文件会在该命令的执行目录中生成一个可执行文件

2、执行该命令且以若干源码文件作为参数时,只有这些文件会被编译

-注意列出代码运行所需的全部源码文件,否则可能产生编译错误

3、执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并编译

4、执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译

-加入-a标记后所有涉及到的代码包都会被重新编译

-不加入-a标记,则只会编译归档文件中不是最新的代码包

使用

编译源码文件:go build [fileName].go

编译代码包:go build [代码包的导入路径]

常见标记

标记 描述
-o 指定输出文件。
-a 强行对所有涉及到的代码包(包括标准库中的代码包)进行重新构建,即使它们已经是最新的了。
-n 打印构建期间所用到的其它命令,但是并不真正执行它们。
-p n 构建的并行数量(n)。默认情况下并行数量与CPU数量相同。
-race 开启数据竞争检测。此标记目前仅在linux/amd64、darwin/amd64和windows/amd64平台下被支持。
-v 打印出被构建的代码包的名字。
-work 打印出临时工作目录的名字,并且取消在构建完成后对它的删除操作。
-x 打印出构建期间所用到的其它命令。

例如:

go build -a [代码包的导入路径]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Golang中文件目录操作的实现步骤详解

    Golang中文件目录操作的实现步骤详解

    在Golang中,文件目录是指计算机文件系统中的文件夹或目录。目录是用于组织和存储文件的一种方式,可以包含文件和其他子目录,本文主要介绍了Golang中文件目录操作的实现方法,需要的朋友可以参考下
    2023-05-05
  • Centos下搭建golang环境及vim高亮Go关键字设置的方法

    Centos下搭建golang环境及vim高亮Go关键字设置的方法

    这篇文章先给大家详细介绍了在Centos下搭建golang环境的步骤,大家按照下面的方法就可以自己搭建golang环境,搭建完成后又给大家介绍了vim高亮Go关键字设置的方法,文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • Go语言sync.Cond基本使用及原理示例详解

    Go语言sync.Cond基本使用及原理示例详解

    这篇文章主要为大家介绍了Go语言sync.Cond基本使用及原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 使用Go语言写一个Http Server的实现

    使用Go语言写一个Http Server的实现

    本文主要介绍了使用Go语言写一个Http Server的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • go语言vscode集成开发环境搭建

    go语言vscode集成开发环境搭建

    本文将介绍如何使用VSCode搭建Go语言开发环境,Go语言是一种简洁高效的编程语言,而VSCode是一款轻量级的集成开发环境,二者的结合可以提供良好的开发体验,
    2023-08-08
  • gorm FirstOrCreate和受影响的行数实例

    gorm FirstOrCreate和受影响的行数实例

    这篇文章主要介绍了gorm FirstOrCreate和受影响的行数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • golang中定时器cpu使用率高的现象详析

    golang中定时器cpu使用率高的现象详析

    这篇文章主要给大家介绍了关于golang中定时器cpu使用率高的现象的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • Goland配置leetcode的实现示例

    Goland配置leetcode的实现示例

    本文主要介绍了Goland配置leetcode的实现示例,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • 浅析Go语言版本的forgery

    浅析Go语言版本的forgery

    使用过Python语言的朋友们可能使用过 forgery_py ,它是一个伪造数据的工具。这篇文章主要介绍了Go语言版本的forgery,需要的朋友可以参考下
    2018-08-08
  • Golang中context库的高级应用

    Golang中context库的高级应用

    context库不仅对于提升代码的效率和性能至关重要,而且还帮助开发者在复杂的系统中保持代码的清晰和可维护性,下面我们就来看看context库的高级应用吧
    2024-01-01

最新评论