链客,专为开发者而生,有问必答!
此文章来自[区块链技术社区](https://www.liankexing.com),未经允许拒绝转载。
Golang学习-基础命令11
一、go run
用于运行命令源码文件,只能接收一个命令源码文件以及若干个库源码文件作为参数。先将源码文件编译成临时文件,然后再运行这个临时文件,临时文件可能包括可执行文件和归档文件。这些临时文件如果不做命令标记,会在被运行后被删除。下面是go run命令常用的标记:–a : 强制编译相关代码文件,无论代码文件是否有更新 –n : 打印编译过程中所需要的命令,但是不执行它 –p N : 并行编译,其中N为CPU逻辑个数 –v : 列出被编译的代码包名称 –work : 显示编译时创建的临时工作目录,注意这些目录并不会删除 –x : 打印编译过程中需要的命令,并执行
二、go build
用于编译源码文件或代码包,编译非命令源码文件不会产生结果文件,它只会检查源码文件的有效性;go build编译命令源码文件会在当前源码文件所在目录下生成可执行文件。
执行该命令且不追加任何参数,他会试图把当前目录作为代码包并编译
以代码包导入路径作为参数,该代码包及其依赖会被编译
以若干源码文件作为参数,只会编译参数列出的源码文件,这是需要注意列出源码文件的完整性
三、go install
go run用于编译并安装代码包或源码文件。安装代码包会在/<当前工作区>/pkg/<平台相关目录>/下生成归档文件;安装命令源码文件会在当前工作区的bin目录下或$GOBIN下生成可执行文件。
执行该命令且不追加任何参数时,它会试图把当前目录作为代码包编译并安装
执行该命令且以代码包的导入路径作为参数时,该代码包及依赖会被安装
执行该命令且以源码文件作为参数,只有这些源码文件被编译安装
四、go get
go get用于从远程代码仓库下载并安装代码包,它所支持的代码控制系统:
Git
SVN
Mercurial(hg)
Bazaar
指定的代码包会被下载到$GOPATH中包含的第一个工作区的src目录中。 下面是go get命令常用的标记:
-d :只执行下载动作不执行安装动作
-fix : 在下载代码包后先执行修正动作,然后再进行编译安装
-u :利用网络来更新已有的代码包及其依赖
注:当使用go get命令时,其实使用了git等管控工具进行操作。加-u标记会remote后执行pull的操作。可以加上-x标记查看它所使用命令。
有疑问加站长微信联系(非本文作者)