go mod 使用三方包、go get命令

一、环境变量设置

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct

 二、goland开启 go mod

三、go mod 使用

在go.mod文件中声明三方包地址&版本号即可,如下:

开发工具goland会自动解析go.mod文件,执行命令下载安装三方包。

go.mod 文件

go.mod 文件中可以使用到的语法关键词以及含义:

module: 定义当前项目的模块路径

go: 标识当前模块的 Go 语言版本,目前来看还只是个标识作用。

require: 说明 Module 需要什么版本的依赖。

exclude: 用于从使用中排除一个特定的模块版本。在实际的项目中很少被使用,故很少会显式的排除某个包的某个版本,除非我们知道某个版本有严重 bug。比如指令 exclude github.com/google/uuid v1.1.0,表示不使用 v1.1.0 版本。

创建module

go mod init 模块名

将在当前目录下创建一个新的Go模块,并生成一个go.mod文件来管理你的依赖项。 

增加缺少的module&移除无用的module 

go mod tidy

go mod tidy 命令只会修改 go.mod 文件,不会安装或更新包。如果你想确保使用的是最新的包版本,可以结合 go get -u 命令来更新包。 

 四、go get 使用

Go modules 模式下,使用 go get 命令,相关信息可以自动记录到 go.mod 文件中。

最新版本

go get -u github.com/nacos-group/nacos-sdk-go/v2
或
go get github.com/nacos-group/nacos-sdk-go/v2@latest

默认下载最新版本。

指定tag

go get -u github.com/nacos-group/nacos-sdk-go/v2@v2.2.2

执行日志:go: downgraded github.com/nacos-group/nacos-sdk-go/v2 v2.2.3 => v2.2.2

下载完成后,go.mod 文件内容自动变更为:

github.com/nacos-group/nacos-sdk-go/v2 v2.2.2 // indirect

// indirect ,表示该模块为间接依赖,也就是在当前应用程序中的 import 语句中,并没有发现这个模块的明确引用,如果没引用,我们提前先拉下来这个包,就会出现该注释,比如直接使用go get拉代码包,而不是 go build 让命令自动根据 go.mod 拉代码包。

指定分支的最新commit

拉取 master 分支的最新 commit

go get github.com/nacos-group/nacos-sdk-go/v2@master

go.mod 文件内容变更为:

github.com/nacos-group/nacos-sdk-go/v2 v2.2.4-0.20230901084646-9653ddea228a

更新

go get -u

-u(short for --update):告诉 go get 命令从远程仓库更新包到最新版本。如果你已经安装了某个包,但是有新版本可用,该命令将下载并安装最新版本。-u 标志是用于更新包的常见用法,它会忽略已安装包的版本,而是下载并安装最新的版本。

-u 标志将更新所有的依赖项,而不仅仅是直接导入的包。这可能会导致一些不可预期的变化,因此在使用该标志进行更新之前,建议先仔细阅读包的文档和变更日志,以了解更新可能带来的影响。

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

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

相关文章

Linux 查看CPU架构及内核版本

涉及arch命令和/proc/version文件 1 查看CPU架构 有些软件的安装需要和CPU架构相匹配,如JDK等等,所以需要确定主机的CPU架构类型。可使用命令arch查看Linux系统的CPU架构,如下: arch 12 查看内核版本 文件/proc/version中包含系…

C/C++之自定义类型(结构体,位段,联合体,枚举)详解

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 个人主页:点我进入主页 …

React笔记:useState

1 介绍 useState 是 React 中一个非常重要的钩子(Hook),允许在函数组件中添加状态。 2 基本用法 useState 是一个函数,它接收一个参数(初始状态值)并返回一个数组。 返回的这个数组包含两个元素&#xf…

JAXB 使用记录 bean转xml xml转bean 数组 继承

JAXB 使用记录 部分内容引自 https://blog.csdn.net/gengzhy/article/details/127564536 基础介绍 JAXBContext类:是应用的入口,用于管理XML/Java绑定信息 Marshaller接口:将Java对象序列化为XML数据 Unmarshaller接口:将XML数…

滚珠螺母在工业机器人中的应用优势

工业机器人是广泛用于工业领域的多关节机械手或多自由度的机器装置,具有一定的自动性,可依靠自身的动力能源和控制能力实现各种工业加工制造功能。滚珠螺母作为工业机器人中的重要传动配件,在工业机器人的应用中有哪些优势呢? 1、…

STM32 CubeMX PWM三种模式(HAL库)

STM32 CubeMX PWM两种模式(HAL库) STM32 CubeMX STM32 CubeMX PWM两种模式(HAL库)一、互补对称输出STM32 CubeMX设置代码部分 二、带死区互补模式STM32 CubeMX设置代码 三、普通模式STM32 CubeMX设置代码部分 总结 一、互补对称输…

API接口安全运营研究

根据当前API技术发展的趋势,从实际应用中发生的安全事件出发,分析并讨论相关API安全运营问题。从风险角度阐述了API接口安全存在的问题,探讨了API检测技术在安全运营中起到的作用,同时针对API安全运营实践,提出了几个方…

[ICCV-23] DeformToon3D: Deformable Neural Radiance Fields for 3D Toonification

pdf | code 将3D人脸风格化问题拆分为几何风格化与纹理风格化。提出StyleField,学习以风格/ID为控制信号的几何形变残差,实现几何风格化。通过对超分网络引入AdaIN,实现纹理风格化。由于没有修改3D GAN空间,因此可以便捷实现Edit…

代码随想录算法训练营第23期day17| 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

目录 一、(leetcode 110)平衡二叉树 二、(leetcode 257)二叉树的所有路径 三、(leetcode 404)左叶子之和 一、(leetcode 110)平衡二叉树 力扣题目链接 状态:已AC 求深…

如何在 Spring Boot 中使用 WebSocket

在Spring Boot中使用WebSocket构建实时应用 WebSocket是一种用于实现双向通信的网络协议,它非常适合构建实时应用程序,如在线聊天、实时通知和多人协作工具。Spring Boot提供了对WebSocket的支持,使得在应用程序中集成WebSocket变得非常容易…

QTableWidget 表格部件

QTableWidget是QT中的表格组件类。一般用来展示多行多列的数据,是QT中使用较多的控件之一。1、QTableWidgetItem对象 QTableWidget中的每一个单元格都是一个QTableWidgetItem对象,因此先介绍下QTableWidgetItem的常用方法。 1.1、设置文本内容 void QT…

可拓展的低代码全栈框架

尽管现在越来越多的人开始对低代码开发感兴趣,但已有低代码方案的局限性仍然让大家有所保留。其中最常见的担忧莫过于低代码缺乏灵活性以及容易被厂商锁定。 显然这样的担忧是合理的,因为大家都不希望在实现特定功能的时候才发现低代码平台无法支持&…

ref与DOM-findDomNode-unmountComponentAtNode知识点及应用例子

​​​​​​http​​​http://t.csdnimg.cn/og3BI 知识点讲解↑ 需求: (下载/导出 用post请求时:) 实例: react部分代码 1、点击下载按钮,需要传给后端数据,到数据扁平,不是那么复杂,只需url地址即可完成下载,后端…

神经网络(MLP多层感知器)

分类 神经网络可以分为多种不同的类型,下面列举一些常见的神经网络类型: 前馈神经网络(Feedforward Neural Network):前馈神经网络是最基本的神经网络类型,也是深度学习中最常见的神经网络类型。它由若干个…

SpringBoot 如何使用 Sleuth 进行分布式跟踪

使用Spring Boot Sleuth进行分布式跟踪 在现代分布式应用程序中,跟踪请求和了解应用程序的性能是至关重要的。Spring Boot Sleuth是一个分布式跟踪解决方案,它可以帮助您在分布式系统中跟踪请求并分析性能问题。本文将介绍如何在Spring Boot应用程序中使…

java模拟GPT流式问答

流式请求gpt并且流式推送相关前端页面 1)java流式获取gpt答案 1、读取文件流的方式 使用post请求数据,由于gpt是eventsource的方式返回数据,所以格式是data:,需要手动替换一下值 /** org.apache.http.client.metho…

数据库系统工程师------流水线

流水线 流水线周期:工序中最长的那段执行时间。 流水线计算公式:第一条指令计算时间 (指令条数 - 1)*流水线周期。 流水线吞吐率:指单位时间内流水线完成的任务数量或输出的结果数量。 流水线的加速比:完…

机器学习与模式识别作业----决策树属性划分计算

文章目录 1.决策树划分原理1.1.特征选择1--信息增益1.2.特征选择2--信息增益比1.3.特征选择3--基尼系数 2.决策树属性划分计算题2.1.信息增益计算2.2.1.属性1的信息增益计算2.2.2.属性2的信息增益计算2.2.3.属性信息增益比较 2.2.信息增益比计算2.3.基尼系数计算 1.决策树划分原…

VMware Workstation Player 17 下载安装教程

虚拟机系列文章 VMware Workstation Player 17 免费下载安装教程 VMware Workstation 17 Pro 免费下载安装教程 windows server 2012安装教程 Ubuntu22.04.3安装教程 FTP服务器搭建 VMware Workstation Player 17 下载安装教程 虚拟机系列文章前言一、 VMware Workstation Pla…

手机APP也可以学习Sui啦,通过EasyA开启你的学习之旅

Sui基金会与EasyA合作,开发了一门面向初学者的Sui课程。这一适用于Android和iOS移动端的学习体验,是进入更广泛的Sui社区和生态系统的入口。在这门课程中,学习者将以有趣和互动的方式获得对Sui的基本了解,最终能够在测试网络上部署…