Golang必知必会Go Mod命令

文章目录

  • 一、go mod 是什么?
  • 二、详细命令
    • 1. init
    • 2.download
    • 3.tidy
    • 4.graph
    • 5.edit
    • 6.vendor
    • 7.verify
    • 8.why
  • 总结


一、go mod 是什么?

go modules 官方定义为:
模块是相关Go包的集合。modules是源代码交换和版本控制的单元。
go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。

二、详细命令

1. init

go mod init

生成 go.mod 文件,此命令会在当前目录中初始化和创建一个新的go.mod文件,手动创建go.mod文件再包含一些module声明也等同该命令,而go mod init命令便是帮我们简便操作,可以帮助我们自动创建。

用 go mod init marriage生成的go.mod文件里的第一行会申明module marriage

2.download

go mod download

下载 go.mod 文件中指明的所有依赖,使用此命令来下载指定的模块,模块的格式可以根据主模块依赖的形式或者path@version形式指定。

3.tidy

go mod tidy

整理现有的依赖,使用此命令来下载指定的模块,并删除已经不用的模块

4.graph

go mod graph

查看现有的依赖结构,生成项目所有依赖的报告,但可读性太差,图形化更方便。

5.edit

代码:

go mod edit

编辑 go.mod 文件,之后通过 download 或 edit 进行下载

6.vendor

go mod vendor

导出项目所有的依赖到vendor目录,从mod中拷贝到项目的vendor目录下,IDE可以识别这样的目录。

7.verify

go mod verify

校验一个模块是否被篡改过,查询某个常见的模块出错是否已被篡改

8.why

go mod why

查看为什么需要依赖某模块,查询某个不常见的模块是否是哪个模块的引用

总结

通过以上可以轻松了解在Golang中go mod的使用方式。Go mod提供了一系列操作modules的命令,所有的go命令中现在已经内置了对module的支持,而不仅仅是go mod命令。例如使用go get时,会经常自动在后台添加、移除、升级、降级依赖包版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/91338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VBA技术资料MF62:创建形状添加文本及设置颜色

【分享成果,随喜正能量】须知往生净土,全仗信、愿。有信、愿,即未得三昧、未得一心不乱,亦可往生。且莫只以一心不乱,及得念佛三昧为志事,不复以信、愿、净念为事。。 我给VBA的定义:VBA是个人…

英语单词记忆学习打卡系统 微信小程序

本单词记忆系统使用了计算机语言Java和存放数据的仓库MySQL,采用了微信小程序模式来实现。本系统使用了框架SSM和Uni-weixin实现了单词记忆系统应有的功能,系统主要角色包括管理员和用户。 关键词:Java;MySQL;SSM  在…

【Linux】—— 详解动态库和静态库

前言: 本期我将要给大家讲解的是有关 动态库和静态库 的相关知识!!! 目录 序言 见一见库 为什么要有库 (一)动态库(.so) 1.基本概念 2.命名规则 3.制作动态库 &#xff0…

【学习笔记】CF1817F Entangled Substrings(基本子串结构)

前置知识:基本子串结构,SAM的结构和应用 学长博客 字符串理论比较抽象,建议直观的去理解它 子串 t t t的扩展串定义为 ext(t) : t ′ \text{ext(t)}:t ext(t):t′,满足 t t t是 t ′ t t′的子串,且 occ(t) occ(t…

【RabbitMQ实战】 03 SpringBoot RabbitMQ生产者和消费者示例

上一节我们写了一段原生API来进行生产和消费的例子。实际上SpringBoot对原生RabbitMQ客户端做了二次封装&#xff0c;让我们使用API的代价更低。 一、配置文件 依赖引入 <dependencies><dependency><groupId>org.springframework.boot</groupId><…

2023年十大开源项目:革新技术创新

来源整理 : 小托 | 开源社翻译组PM 翻译 : 张锋 | 开源社翻译 Open-source projects have revolutionized the world of software development by fostering innovation, collaboration, and community-driven contributions. These projects are often the backbone of countl…

PHP8的继承和多态-PHP8知识详解

我们在前面的时候讲过《面向对象编程的特点》时&#xff0c;面向对象编程具有3大特点&#xff1a;封装性、继承性和多态性。 继承和多态的根本作用就是完成代码的重用。下面就来讲解php8的继承和多态。 1继承 子类可以继承父类的所有成员变量和成员方法&#xff0c;包括构造方…

玄子Share 设计模式 GOF 全23种 + 七大设计原则

玄子Share 设计模式 GOF 全23种 七大设计原则 前言&#xff1a; 此文主要内容为 面向对象七大设计原则&#xff08;OOD Principle&#xff09;GOF&#xff08;Gang Of Four&#xff09;23种设计模式拓展的两个设计模式 简单工厂模式&#xff08;Simple Factory Pattern&#x…

小白入门pytorch(二)----神经网络

本文为&#x1f517;[小白入门Pytorch]学习记录博客 文章目录 前言一、神经网络的组成部分1.神经元2.神经网络层3.损失函数4.优化器 二、Pytorch构建神经网络中的网络层全连接层2.卷积层3.池化层4.循环神经网络5.转置卷积层6.归一化层7.激活函数层 三、数据加载与预处理1.数据加…

【计算机网络】 TCP和UDP的区别

文章目录 区别相关问题 区别 UDP是无连接的&#xff0c;TCP面向连接。UDP是不可靠传输&#xff0c;不使用流量控制和拥塞控制。而TCP是可靠传输&#xff0c;使用流量控制和拥塞控制。UDP支持一对一&#xff0c;一对多&#xff0c;多对一和多对多交互通信&#xff0c;而TCP只能…

uvm白皮书练习_ch2_ch223_加入objection机制

UVM中通过objection机制来控制验证平台的关闭。 在每个phase中&#xff0c;UVM会检查是否有objection被提起&#xff08;raise_ objection&#xff09;&#xff0c;如果有&#xff0c;那么等待这个objection被撤销&#xff08;drop_objection&#xff09;后停止仿真&#xff1b…

Fake Maxpooling 二维滑动窗口

先对每一行求一遍滑动窗口&#xff0c;列数变为(列数-k1) 再对每一列求一遍滑动窗口&#xff0c;行数变为(行数-k1) 剩下的就是每一个窗口里的最大值啦 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing nam…

关于Greenplum为什么基于PostgreSQL而不是MySQL?

Greenplum选择PostgreSQL而不是MySQL&#xff0c;其原因主要有以下几点&#xff1a; 更强的分析能力 PG有非常强大的SQL支持能力和非常丰富的统计函数和统计语法支持&#xff0c;除对ANSI SQL完全支持外&#xff0c;还支持比如分析函数&#xff08;SQL2003 OLAP window函数&a…

【强化学习】基础概念

1. Agent (智能体) 智能体是进行决策和学习的实体&#xff0c;它能感知环境的状态&#xff0c;并基于策略采取动作以影响环境。智能体的目标是通过与环境的交互获得最大化的累积奖励。 2. Environment (环境) 环境是智能体所处的外部系统&#xff0c;它与智能体交互。环境的…

【算法】莫队

这篇博客起源于本人把一道 p o w ( 2 , n ) pow(2,n) pow(2,n) 的问题考虑成求组合数前缀和的问题qwq&#xff0c;于是接触到了这个新算法来总结一下 参考自这篇文章&#xff0c;写得太好了 首先是一道模板题 题目意思是&#xff0c;给出一个数组a&#xff0c;再给出多个区…

无人直播间

失败&#xff01;&#xff01; 采用 ffmpeg 技术进行推流 推流代码&#xff1a; 【需要将rtmp替换为你的推流地址】 ffmpeg -re -stream_loop -1 -i "rain.mp4" -c copy -f flv ""推流地址获取 以哔哩哔哩为例 点击下方链接 开播设置 - 个人中心 - …

leetcode之打家劫舍

leetcode 198 打家劫舍 leetcode 213 打家劫舍 II leetcode 337. 打家劫舍 III 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 &#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#…

【MATLAB源码-第39期】基于m序列/gold序列的直接扩频通信仿真,编码方式采用卷积码,调制方式采用BPSK。

1、算法描述 直接序列扩频通信系统的仿真一般包括以下几个主要步骤&#xff1a;信号产生、扩频、卷积编码、BPSK调制、信道传输、BPSK解调、卷积码译码和解扩。 信号产生&#xff1a; 首先&#xff0c;产生一个二进制数据序列作为待发送的信息位。 扩频&#xff1a; 采用m序列…

React Promise 中断

需求&#xff1a; 上传文件&#xff0c;但是后端接口不支持多文件上传&#xff0c;但是一次性发出很多请求的话如果有100个文件那对后端的压力又太大了在上传的时候还需要有停止上传的按钮 进程&#xff1a; async await 只能做到第一步&#xff0c;但是无法在上传中的时候关…

HBASE集群主节点迁移割接手动操作步骤

HBASE集群主节点迁移割接手动操作步骤 HBASE集群主节点指的是包含zk、nn、HM和rm服务的节点&#xff0c;一般这类服务都是一起复用在同一批节点上&#xff0c;我把这一类节点统称为HBASE集群主节点。 本文中使用了rsync、pssh等工具&#xff0c;这类是开源的&#xff0c;自己…