当前位置: 首页 > news >正文

go 包管理

Go语言所依赖的所有的第三方库都放在GOPATH目录下面
gomodule是Go语言默认的依赖管理工具
Modules是相关Go包的集合,是源代码交换和版本控制的单元,用于指定使用哪些源文件

GO111MODULE=off禁用gomodule,编译时从GOPATH和vendor文件夹中查找包
GO111MODULE=on启用gomodule,编译时会忽略GOPATH和vendor文件夹,只根据go.mod下载依赖
GO111MODULE=auto,当项目在GOPATH/src目录之外,并且项目根目录有go.mod文件时,开启gomodule

通常将 GO111MODULE=on 设置为on 
#go env -w GO111MODULE=on30.1 本地导入包
若工程文件目录结构如下
myfirstpro
    --main/hello.go
    --utils/utils.go
    
main文件夹下创建hello.go

 package mainimport ("fmt""myfirstpro/utils")func init() {fmt.Println("pkg1--init")}func main() {utils.PrintStr()fmt.Println("start...")fmt.Println("end.")}


    
utils文件夹下创建utils/utils.go
   

package utilsimport ("fmt")func PrintStr() {fmt.Println("PrintStr")}

Go Module(需要GO111MODULE=on)
在myfirstpro工程下打开终端输入下面命令
go mod init myfirstpro  //创建go.mod文件
go mod tidy        //把项目所需要的依赖添加到go.mod,并删除go.mod中,没有被项目使用的依赖

30.2 远程导入包
导入 github.com/gin-gonic/gin
hello.go 文件中添加
import "github.com/gin-gonic/gin"

终端下输入下面命令,包自动下载到 GOPATH下的pkg/mod 下面,同时更新 go.mod go.sum文件
go get github.com/gin-gonic/gin
或者 go mod tidy 自动下载依赖


30.3 别名
若报名很长或者包名冲突,可设置包的别名
import myAliasName "package_name"

30.4 匿名导入
导入了包,但不使用 ,此时依然会触发包的init函数
import _ "package_name"


            
            
            
    
        
        
 

相关文章:

go 包管理

Go语言所依赖的所有的第三方库都放在GOPATH目录下面 gomodule是Go语言默认的依赖管理工具 Modules是相关Go包的集合,是源代码交换和版本控制的单元,用于指定使用哪些源文件 GO111MODULEoff禁用gomodule,编译时从GOPATH和vendor文件夹中查找包…...

Js内建对象

数组解构 const arr ["1","2","3"]let a,b,c// 解构赋值 //将数组的第一个元素赋值给第一个变量,第二个元素赋值给第二个变量,依次类推[a,b,c] arr console.log(a,b,c) // 1 2 3 // 声明变量同时解构 let [a,b,c] [&qu…...

AXI接口的实现逻辑和底层原理,在FPGA中如何实现AXI接口,一篇文章足以搞明白!!!

AXI(Advanced eXtensible Interface)接口是一个点对点的接口,用于连接高性能的片上系统(SoC)中的处理器、外围设备、内存和其他IP核。以下是对AXI接口的详细解析,包括FPGA实现的原理、逻辑、速度以及详细的…...

《GBDT 算法的原理推导》 11-12计算损失函数的负梯度 公式解析

本文是将文章《GBDT 算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。 公式(11-12)是GBDT算法中非常关键的一步,它表示了如何通过计算损失函数的负梯度来指导下一棵树的生长。 公式(11-12)如下: r m i − [ ∂ …...

mysql设计

大家好,我是捡田螺的小男孩。 昨天一位粉丝,咨询了一个并发的问题~ 我提供了一个乐观锁兜底的方案,然后发现他们的表,都没有加version字段的,我想到,这不是表设计通用字段嘛。因此,本文跟大家聊聊&#xf…...

Android 斗鱼面经

Android 斗鱼面经 文章目录 Android 斗鱼面经一面二面 一面 先简单描述一下JVM JRE JDK的关系 :::info JVM(Java Virtual Machine) Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作…...

【机器学习】26. 聚类评估方法

聚类评估方法 1. Unsupervised Measure1.1. Method 1: measure cohesion and separationSilhouette coefficient Method 2:Correlation between two similarity matricesMethod 3:Visual Inspection of similarity matrix 2. Supervised measures3. 决定…...

linux 最多能创建多少个 TCP 连接?

linux 最大允许TCP连接数 约束一&#xff1a;服务器的端口范围约束二&#xff0c;服务器文件描述符限制约束三&#xff1a;系统线程约束四&#xff1a;系统内存总结 tcp连接四元组&#xff1a;源ip&#xff0c;源端口 <> 目标ip&#xff0c;目标端口 连续对同一个目标ip及…...

我为何要用wordpress搭建一个自己的独立博客

我在csdn有一个博客&#xff0c;这个博客是之前学习编程时建立的。 博客有哪些好处呢&#xff1f; 1&#xff0c;可以写自己的遇到的问题和如何解决的步骤 2&#xff0c;心得体会&#xff0c;经验&#xff0c;和踩坑 3&#xff0c;可以转载别人的好的技术知识 4&#xff0c;宝贵…...

Linux系统每日定时备份mysql数据

一、创建存储脚本的文件夹 创建文件夹&#xff0c;我的脚本放在/root/dbback/mysql mkdir ... cd /root/dbback/mysql 二、编写脚本 vi backup_mysql.sh 复制脚本内容 DB_USER"填写用户名" DB_PASSWORD"填写密码" DB_NAME"数据库名称" # …...

书生大模型第一关Linux基础知识

任务一&#xff1a;完成SSH连接与端口映射并运行hello_world.py 1.SSH及其端口映射 2.在VSCode中安装插件&#xff1a; 3.创建开发机 最后点击创建&#xff0c;然后可能需要等待一段较长的时间&#xff0c;大概需要5分钟左右&#xff0c;如果需要排队则更长时间 然后选择…...

机器学习之fetch_olivetti_faces人脸识别--基于Python实现

fetch_olivetti_faces 数据集下载 fetch_olivetti_faceshttps://github.com/jikechao/olivettifaces sklearn.datasets.fetch_olivetti_faces(*, data_homeNone, shuffleFalse, random_state0, download_if_missingTrue, return_X_yFalse, n_retries3, delay1.0)[source] L…...

【系统设计】深入理解HTTP缓存机制:从Read-Through缓存到HTTP缓存的交互流程

在现代Web开发中&#xff0c;缓存机制扮演着至关重要的角色。它不仅提升了用户体验&#xff0c;还极大地优化了资源的使用效率。在这篇博文中&#xff0c;我们将从“Read-Through”缓存的概念出发&#xff0c;深入探讨HTTP缓存的工作原理和交互流程&#xff0c;并详细描述max-a…...

FLINK单机版安装部署入门-1

文章目录 FLINK单机版安装部署高于1.9.3需要修改配置文件flink-conf.yaml(低于1.9.3可以跳过)linux启动集群windows下启动Flink实例运行(单机)还有一种方式是上传任务包运行examples\streamingjava: Compilation failed: internal java compiler error高版本启动脚本 FLINK单机…...

深度学习-学习率调整策略

在深度学习中&#xff0c;学习率调整策略&#xff08;Learning Rate Scheduling&#xff09;用于在训练过程中动态调整学习率&#xff0c;以实现更快的收敛和更好的模型性能。选择合适的学习率策略可以避免模型陷入局部最优、震荡不稳定等问题。下面介绍一些常见的学习率调整策…...

【学员提问bug】小程序在onUnload里面调接口,用来记录退出的时间, 但是接口调用还没成功, 页面就关闭了。如何让接口在onUnload关闭前调用成功?

这种问题比较通用&#xff0c;并不涉及到具体方法执行障碍&#xff0c;所以&#xff0c;解决起来也不麻烦。但是新手往往不知道如何做。 在小程序中&#xff0c;如果在 onUnload 中调用 API 记录页面退出时间&#xff0c;但因为页面关闭速度较快导致请求未完成&#xff0c;可以…...

【刷题13】链表专题

目录 一、两数相加二、两两交换链表的节点三、重排链表四、合并k个升序链表五、k个一组翻转链表 一、两数相加 题目&#xff1a; 思路&#xff1a; 注意整数是逆序存储的&#xff0c;结果要按照题目的要求用链表连接起来遍历l1的cur1&#xff0c;遍历l2的cur2&#xff0c;和…...

Python Turtle模块详解与使用教程

Python Turtle模块详解与使用教程 引言 Python是一种广泛使用的编程语言&#xff0c;其简洁易读的语法使得它成为初学者学习编程的理想选择。而Turtle模块则是Python标准库中一个非常有趣且实用的图形绘制工具&#xff0c;特别适合用于教育和学习编程的基础知识。通过Turtle模…...

【PTA】4-2 树的同构【数据结构】

给定两棵树 T1​ 和 T2​。如果 T1​ 可以通过若干次左右孩子互换就变成 T2​&#xff0c;则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的&#xff0c;因为我们把其中一棵树的结点A、B、G的左右孩子互换后&#xff0c;就得到另外一棵树。而图2就不是同构的。 图一…...

Node.js——fs模块-同步与异步

本文的分享到此结束&#xff0c;欢迎大家评论区一同讨论学习&#xff0c;下一篇继续分享Node.js的fs模块文件追加写入的学习。...

ESP32-S3 UF2 Bootloader修复指南:从原理到实战救砖

1. 项目概述&#xff1a;为什么ESP32-S3需要UF2 Bootloader&#xff1f;如果你玩过树莓派Pico或者一些Adafruit的开发板&#xff0c;可能会对那个插上USB后出现的U盘盘符有印象——直接把一个.uf2文件拖进去&#xff0c;固件就更新好了&#xff0c;简单得不像在搞嵌入式开发。这…...

终极Windows解析工具:WinFlexBison完整指南

终极Windows解析工具&#xff1a;WinFlexBison完整指南 【免费下载链接】winflexbison Main winflexbision repository 项目地址: https://gitcode.com/gh_mirrors/wi/winflexbison 你是否在Windows平台上开发编译器、解析器或需要处理复杂文本格式时&#xff0c;为缺少…...

NotebookLM去重效率翻3倍:实测验证的7步精准过滤工作流

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM去重效率翻3倍&#xff1a;实测验证的7步精准过滤工作流 NotebookLM 原生未提供批量文本去重能力&#xff0c;但通过组合其 API 与本地预处理策略&#xff0c;可构建高精度、低延迟的语义级去…...

WinFlexBison深度解析:Windows平台编译工具链的完整解决方案

WinFlexBison深度解析&#xff1a;Windows平台编译工具链的完整解决方案 【免费下载链接】winflexbison Main winflexbision repository 项目地址: https://gitcode.com/gh_mirrors/wi/winflexbison 在Windows平台上开发编译器、解释器或复杂文本解析器时&#xff0c;开…...

3个核心优势:重新定义Windows平台Fastboot工具的工作流

3个核心优势&#xff1a;重新定义Windows平台Fastboot工具的工作流 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance FastbootEnhance是一款专为Win…...

设计程序统计城市社区医疗站点接诊数据,优化医疗点位分布,方便居民就近看病,解决就医难问题。

一、实际应用场景描述某城市卫健委希望优化社区卫生服务中心布局&#xff0c;但面临以下现实情况&#xff1a;- 各社区接诊量差异巨大- 部分点位长期排队&#xff0c;部分点位资源闲置- 居民跨区就医成本高- 缺乏基于数据的点位调整依据&#x1f449; 技术目标&#xff1a;用 P…...

gprMax模拟结果看不懂?手把手教你用Paraview可视化不规则地质雷达模型

gprMax模拟结果可视化实战&#xff1a;用Paraview解析复杂地质雷达模型 地质雷达模拟完成后&#xff0c;面对海量的三维数据&#xff0c;许多研究者常陷入"数据在手&#xff0c;却无从下手"的困境。特别是当模型包含不规则异常体时&#xff0c;传统二维切片往往难以…...

WinForm上位机实战:5分钟用C#连接西门子PLC(Modbus TCP,含仿真环境搭建)

WinForm上位机实战&#xff1a;5分钟用C#连接西门子PLC&#xff08;Modbus TCP&#xff0c;含仿真环境搭建&#xff09; 工业自动化领域中&#xff0c;上位机与PLC的通信是核心技术之一。本文将带您快速实现一个基于C# WinForm的西门子PLC监控系统&#xff0c;全程采用Modbus T…...

现有基准任务(如操纵、导航)是否足够

在人工智能与机器人技术飞速迭代的今天&#xff0c;基准任务作为衡量模型与系统能力的核心标尺&#xff0c;贯穿于技术研发、性能评估与落地应用的全流程。操纵、导航作为两类最基础、最核心的基准任务&#xff0c;长期以来支撑着机器人、具身智能等领域的进步&#xff0c;成为…...

CVPR投稿后,我是如何用一篇高质量的Rebuttal说服审稿人的(附真实邮件模板)

CVPR投稿后&#xff0c;我是如何用一篇高质量的Rebuttal说服审稿人的&#xff08;附真实邮件模板&#xff09; 在计算机视觉领域的顶级会议CVPR投稿过程中&#xff0c;Rebuttal环节往往成为决定论文命运的关键转折点。许多研究者花费数月精心打磨论文&#xff0c;却在收到审稿意…...