Go相关命令说明

news/2024/11/9 5:01:18/

目录

  • go get:下载第三方库的源代码,并将其放在`$GOPATH/src`目录下
  • go install:编译并安装Go程序或库,将其生成的二进制文件安装到`$GOPATH/bin`或(`$GOPATH/pkg` 如果是库)目录中
  • go mod tidy :清理未使用依赖项,并更新模块文件
  • go clean -modcache :清除模块缓存
  • go clean -testcache :清除测试缓存
  • go test -v ./client :测试当前目录下client目录中的所有测试函数

go get:下载第三方库的源代码,并将其放在$GOPATH/src目录下

  • 主要用于下载第三方库的源代码,并将其放置在 $GOPATH/src 目录下。
  • 如果你使用 go get,它会下载代码并将其源代码存储在 $GOPATH/src 中。此外,它还会检查并安装可执行文件到 $GOPATH/bin,如果第三方库包含可执行文件的话。
  • 在最新版本的 Go 中,go get 的功能已经被集成到了其他命令中,而且 Go Modules 的引入使得对 $GOPATH 的依赖降低。因此,使用 go get 也可以在项目中安装依赖,而不一定非要在 $GOPATH 目录外。
go get github.com/example/package

go install:编译并安装Go程序或库,将其生成的二进制文件安装到$GOPATH/bin或($GOPATH/pkg 如果是库)目录中

  • 主要用于编译并安装 Go 程序或库,将其生成的二进制文件安装到 $GOPATH/bin(或 $GOPATH/pkg 如果是库)目录中。
  • 如果你使用 go install,它会编译并安装当前目录或指定包的可执行文件(或库)到 $GOPATH/bin(或 $GOPATH/pkg)目录。
go install

go mod tidy :清理未使用依赖项,并更新模块文件

go mod tidy 是Go语言的一个命令,用于自动清理并移除模块文件中未使用的依赖项。它是Go模块管理工具的一部分,用于维护模块的依赖关系,确保只有实际使用的依赖项被保留,以减小模块的大小。

主要功能

  1. 清理未使用的依赖项:该命令会分析你的代码以确定哪些依赖项实际上没有被引用。它会自动从模块文件(go.mod)中移除这些未使用的依赖项。
  2. 更新模块文件:一旦清理完成,go mod tidy 会更新模块文件以反映已删除的依赖项。这确保了模块文件与你的实际代码保持同步。

好处

  • 减小二进制文件大小:通过删除未使用的依赖项,你可以减小生成的二进制文件的大小,从而减少可执行文件的体积。
  • 简化依赖管理:只保留实际使用的依赖项可以使你的依赖管理更加清晰和精简。
  • 更好的性能:较小的模块通常会导致更快的构建和更少的网络下载,从而提高了性能。

该命令类似于执行以下步骤

  1. 检查项目的 go.mod 文件,确定项目依赖的版本。
  2. 对于每个依赖项,检查是否已经存在,如果不存在,则使用 go get 下载该依赖项,并将其添加到 go.mod 和 go.sum 中。
  3. 移除不再需要的依赖项。

go clean -modcache :清除模块缓存

go clean -testcache :清除测试缓存

go test -v ./client :测试当前目录下client目录中的所有测试函数


http://www.ppmy.cn/news/1212397.html

相关文章

深入理解ElasticSearch分片

1. 路由计算 当索引一个文档的时候,文档会被存储到一个主分片中。 Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片 1 还是分片 2 中呢?首先这肯定不会是随机的&…

Java常用设计模式(23种)

文章目录 介绍 设计模式的六大原则 一、创建型模式 1、单例模式(Singleton Pattern) 1)饿汉式 2)懒汉式,双检锁 3)静态内部类 4)枚举 2、原型模式(Prototype Pattern&#xff09…

TinyEngine 开源低代码引擎首次直播答疑QA合集

前言 10月27日晚8点,OpenTiny 社区开启了 TinyEngine 开源低代码引擎首次答疑直播,本次直播我们通过收集开发者诉求,精心策划和组织了内容,希望提供给大家最明确和清晰的答疑方式。这是 TinyEngine 低代码引擎直播计划的开端&…

美国材料与试验协会ASTM发布新版玩具安全标准 ASTM F963-23

美国材料与试验协会ASTM发布新版玩具安全标准 ASTM F963-23 2023年10月13日,美国材料与试验协会(ASTM)发布了新版玩具安全标准ASTM F963-23 ​根据CPSIA的规定,当ASTM将ASTM F963的拟定修订意见通知CPSC时,若CPSC认为…

PCBA表面污染的分类及处理方法

NO.1 引言 在PCBA生产过程中,锡膏和助焊剂会产生残留物质,残留物中包含的有机酸和电离子,前者易腐蚀PCBA,后者会造成焊盘间短路故障。且近年来,用户对产品的清洁度要求越来越严格,PCBA清洗工艺逐渐被电子组…

【管理工具】CMAK安装和使用(kafka-manager)

文章目录 前言一、安装和启动1.1 安装CMAK1.2 启动cmak 二、使用CMAK2.1 添加kafka集群2.2 topic 概述2.3 broker概述2.4 其他操作 前言 一、安装和启动 1.1 安装CMAK Java环境:需要jdk11 $ java -version java version "11.0.5" 2019-10-15 LTS Java…

Clickhouse学习笔记(11)—— 数据一致性

使用合并树引擎时,无论是ReplacingMergeTree还是SummingMergeTree,都只能保证数据的最终一致性,因为数据的去重、聚合等操作会在数据合并的期间进行,而合并会在后台以一个不确定的时间进行,因此无法预先计划&#xff1…

Zookeeper篇---第六篇

系列文章目录 文章目录 系列文章目录一、请简述Zookeeper的选主流程二、为什么Zookeeper集群的数目,一般为奇数个?三、知道Zookeeper监听器的原理吗?一、请简述Zookeeper的选主流程 Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做…