Golang 学习:基础命令
本文内容整理自郝林老师的《go语言第一课》
一、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
标记查看它所使用命令。
五、推荐
go run
,go build
,go install
,go get
是经常会使用到的一些基础命令,另外从github上会有更加详细和全面的命令。可以浏览一遍,在实际遇到问题的时候可以参考。
参考:
郝林 《go语言第一课》
郝林老师的GitHub https://github.com/hyper0x/go_command_tutorial
有疑问加站长微信联系(非本文作者)