用于运行命令源码文件,只能接受一个命令源码文件以及若干个库源码文件作为文件参数。其内部操作步骤是:先编译源码文件再运行。步骤为:译源码文件->将编译结果放入临时文件夹->运行编译结果(包括1.源码文件生成的可执行文件 2.相关库源码文件生成的归档文件)
-a:强制编译相关代码,不论它们的编译结果是否已是最新的
-n:打印编译过程中所需运行的命令,但不真正执行它们,可以非常安全的,不产生任何后果的前提下,查看go run命令执行步骤。
-p n:并行编译,其中n为并行的数量,通常为逻辑cpu个数。
-v:列出被编译的代码包的名称 -a -v 两个命令连用,就可以列出所有被编译的代码包的名称。go1.3中的所有包含go语言自带的标准库的代码包,而1.4版本中则不包括。
-work:显示编译时创建的临时工作目录的路径,并且不删除它。
-x:打印编译过程中所需运行的命令,与-n的区别是-x会执行,而-n不会执行。
用于编译源码文件或者代码包
编译非命令源码文件不会产生任何结果文件,只会检查库文件的有效性
编译命令源码文件会在该命令的执行目录中生成一个可执行文件
执行该命令且不追加任何参数,它会试图把当前目录作为代码包,并编译
执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译,加入-a标记后所有涉及到的代码包都会被重新编译,不加入-a标记,则只会编译归档文件不是最新的代码包
执行该命令以若干源码文件作为参数时,只有这些文件会被编译
用于编译并安装代码包或源码文件
安装代码包会在当前工作区的 pkg/<平台相关目录> 下生成归档文件
安装命令源码文件会在当前工作区的 bin 目录或 $GOBIN 目录下生成可执行文件
执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并安装
执行该命令且以代码包的导入路作为参数时,该代码包及其依赖会被安装
执行该命令以命令源文件及其相关库源码文件作为参数时,只有这些文件会被编译并安装
从远程代码仓库(如:gitHub)上下载并安装代码包
受支持的代码版本控制系统有:git,mercurial(hg),svn,bazaar...
指定的代码包会被下载到 $GOPATH 中包含的第一个工作区的 src 目录中
常用标记:
用于显示指定目录的目录结构
用户显示指定代码包的依赖关系