go run
简介
- 用于运行源码文件
- 只能接收一个命令源码文件以及若干个库源码文件作为文件参数
- 其内部操作步骤:先编译源码文件成临时文件,再运行临时文件,产出可执行文件和归档文件
常用标记的使用
-
-a: 强制编译相关代码,不论他们的编译结果是否已是最新的
-
-n: 打印编译过程中所需运行的命令,但不真正执行他们
-
-p n:并行编译,其中n为并行的数量,n的值最好是我们计算机的逻辑cpu的个数
- 逻辑cpu:比如我们的计算机有2个cpu,每个cpu都有2个核,那么cpu的逻辑个数是4
-
-v: 列出被编译的代码包的名称
-
-work: 显示编译时创建的临时工作目录的路径,并且不删除它
-
-x: 打印编译过程中所需运行的命令
-
举例:
- -a -v: 两个连用,列出所有被编译的代码包的名称
- 这里的“所有”,在1.3中,包含Go语言自带的标准库的代码包;在1.4中的所有,不包含Go语言自带的标准库的代码包
- -n与-x的区别:
- -n: 打印编译过程中所需的命令,但并不执行
- -x: 打印编译过程中所需的命令,并执行他们
- -a -v: 两个连用,列出所有被编译的代码包的名称
go build
简介
- 用于编译源码文件或代码包
- 编译非命令源码文件不会产生任何结果文件
- 编译命令源码文件会在该命令的执行目录中生成一个可执行文件
- 执行该命令不支架任何参数,它会把当前目录作为代码包并编译
- 执行该命令且以代码包的导入路径作为单数时,该代码包及其依赖会被编译
- 加入-a标记后所有涉及到的代码包都会被重新编译
- 不加入-a标记,则只会编译归档文件不是最新的代码包
- 执行该命令且以若干源码文件作为参数时,只有这些文件会被编译
- 举例:
- 执行go build showds.go
- 产生showds可执行文件
- ./showds 就相当于 go run showds.go
go install
简介
- 用于编译并安装代码包或源码文件
- 安装代码包会在当前工作区的pkg/<平台相关目录>下生成归档文件
- 安装命令源码文件会在当前工作区的bin目录或$GOBIN目录下生成可执行文件
- 执行该命令且不追加任何参数时,它会视图把当前目录作为代码包并安装
- 执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被安装
- 执行该命令且以命令源码文件及相关库源码文件作为参数时,只有这些文件会被编译并安装
go get 代码地址
简介
- 用于从远程代码仓库(如github)上下载并安装代码包
- 受支持的代码版本控制系统有:Git、Mercurial(hg)、SVN、Bazaar
- 指定的代码包会被下载到$GOPATH中包含的第一个工作区的src目录中
go get常用标记的使用
- -d: 只执行瞎子啊动作,而不执行安装动作
- -fix: 在下载代码包后先执行修正动作,而后再进行编译和安装
- 比如原先是1.0版本的语法,现在是1.4版本的语法,那么1.4跟原先1.0有些不兼容,那么可以用-fix先进行修正
- -u: 利用网络来更新已有的带阿宝及其依赖包