[root@opsys-vm12-231 ~]# git clone https://github.com/hyper0x/goc2p ##下载代码
[root@opsys-vm12-231 ~]# cd goc2p/src/helper/ds ##进入ds之后测试ds命令
[root@opsys-vm12-231 ds]# ll
total 4-rw-r--r--1 root root 1242 Jun 1809:34 showds.go[root@opsys-vm12-231 ds]# go run showds.go/root/goc2p/src/helper/ds:
showds.go
#$GOPATH/go.mod exists but should not ##出现此错误,是因为执行了go mod init相关命令,只需要删除执行后出现的文件即可
[root@opsys-vm12-231 ds]# go run showds.go-p ~/goc2p/src/helper/ ##-p参数指定对应的打印目录
/root/goc2p/src/helper/:
ds/
showds.go
pds/
showpds.go
1.4 go run命令常用标记
- -a 强制编译相关代码,不论它们的编译结果是不是最新的(一般编译后没有任何改变,再次编译就不会执行了)
- -n 打印编译过程中所需运行的命令,但不真正执行他们
- -p n 并行编译,其中n为并行的数量,n最好为逻辑cpu的个数。CPU逻辑数其实就是cpu核数。
- v 列出被编译的代码包的名称
- -a -v 列出所有被编译的代码包的名称
- -work 显示编译时创建的临时工作目录的路径,并且不删除它
- -x 打印编译过程中所需运行的命令,并执行他们
2.go build 和 go install
2.1 go build
2.1.1 简介
用于编译源码文件或代码包
编译非命令源码文件不会产生任何结果文件
编译命令源码文件会在该命令的执行目录中生成一个可执行文件
执行该命令且不追加任何参数时,他会试图把当前目录作为代码包编译
执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译。
执行该命令且以若干源码文件作为参数时,只有这些文件会被编译(源码文件不全,可能会产生错误)
2.1.2 案例演示
[root@opsys-vm12-231 ds]# pwd
/root/goc2p/src/helper/ds
[root@opsys-vm12-231 ds]# go build showds.go[root@opsys-vm12-231 ds]# ls
showds showds.go[root@opsys-vm12-231 ds]# ./showds
/root/goc2p/src/helper/ds:
showds.go
showds
[root@opsys-vm12-231 ds]# go run showds.go/root/goc2p/src/helper/ds:
showds.go
showds
[root@opsys-vm12-231 ~]# go mod init goc2p ##在之前需要进行初始化,不然没办法构建和安装(install)
命令基础1.go run1.1 简介1.2 代码示例(goc2p项目)1.3 命令案例演示1.4 go run命令常用标记2.go build 和 go install2.1 go build2.1.1 简介2.1.2 案例演示2.2 go install2.2.1 简介3. go get1.go run1.1 简介用于运行命令源码文件只能接受一个命令源码文件以及若干个库源码文件作为文件参数其内部操作步骤是:先编译源码文件在运行1.2 代码示例(goc2p项目)项目地址1.3 命令案