Go语言命令基础(一)

1.go run

1.1 简介

  • 用于运行命令源码文件
  • 只能接受一个命令源码文件以及若干个库源码文件作为文件参数
  • 其内部操作步骤是:先编译源码文件在运行

在这里插入图片描述

1.2 代码示例(goc2p项目)

项目地址

在这里插入图片描述

1.3 命令案例演示

[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 18 09: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)

在这里插入图片描述

2.2 go install

2.2.1 简介

  • 用于编译并安装代码包或源码文件
  • 安装代码包会在当前工作区的pkg/<平台相关目录>下生成归档文件
  • 安装命令源码文件会在当前工作区的bin 目录或者$GOBIN目录下生成可执行文件
  • 执行该命令且不追加任何参数时,他会试图把当前目录作为代码包并安装
  • 执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被安装
  • 执行该命令且以命令源码文件及相关库源码文件作为参数时,只有这些文件会被编译并安装

3. go get

  • 用于从远程代码仓库上下载并安装代码包(GitHub或者gitlab等)
  • 指定的代码包会被下载到$GOPATH中包含的第一个工作区的src目录中
  • -d 只下载,而不执行安装
  • -fix 下载代码包后先执行修正动作,而后在进行编译和安装
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Studying!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值