Go语言入门心法(九): 引入三方依赖

news2024/11/20 1:36:28

 


 

Go语言入门心法(一): 基础语法

Go语言入门心法(二): 结构体

Go语言入门心法(三): 接口

Go语言入门心法(四): 异常体系

 Go语言入门心法(五): 函数

Go语言入门心法(六): HTTP面向客户端|服务端编程 

Go语言入门心法(八): mysql驱动安装报错onnection failed

Go语言入门心法(九): 引入三方依赖




一: go依赖三方模块

当项目中需要引入三方依赖,此时要让依赖被我们项目模块识别,需要作系列操作,本文我们一引入mysql数据库驱动为例,说明引入操作的步骤,开发工具使用的是Goland IDEA;

1.1 如在项目中引入:_ "github.com/go-sql-driver/mysql"

package main

import (
	"database/sql"
	"fmt"
	"log"
	// 注册驱动器 _下划线表示执行驱动中的init函数,不使用其他函数
	_ "github.com/go-sql-driver/mysql"
)

/*
go语言连接mysql数据库操作:
*/
func main() {
	db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/tope-pay-user")
	if err != nil {
		fmt.Println("数据库连接异常: ", err)
	}

	// 延迟执行Closer()函数
	defer db.Close()

	// 验证连接的可用性
	err = db.Ping()
	if err != nil {
		log.Fatal("数据库连接失败:", err)
	}
	log.Println("数据库连接成功")
}

如果遇到如下错误:Cannot resolve symbol 'github.com' 说明你项目环境有问题;


一般来说国内不能直接访问golang官方包:所以需要做个代理就是设置GOPROX环境变量

设置了Go语言的环境变量:

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

设置完后,在GoLand控制台执行go mod download在执行下载mod报错:

报错信息是连接不上官方网址,可是我明明走了代理不访问官方网址,走https://goproxy.cn的啊。开始查找原因。

golang 配置go env参数时报错
warning: go env -w GOPROXY=… does not override conflicting OS environment variable
解决方法:
说明当前配置已在系统环境变量配置文件中配置,使用go env -w 方式无效,可以直接通过修改环境变量配置文件中的参数来修改

二: 查看自己本地环境配置情况


GO111MODULE 环境变量用于开启或关闭 Go 语言中的模块支持,它有 off、on、auto 三个可选值,默认为 auto。

GO111MODULE=off
无模块支持,go 会从 $GOPATH 文件夹和 vendor 目录中寻找依赖项。

GO111MODULE=on
模块支持,go 忽略 $GOPATH 文件夹,只根据 go.mod 下载依赖。

GO111MODULE=auto
在 $GOPATH/src 外层且根目录有 go.mod 文件时,开启模块支持;否者无模块支持。


三:  配置go env参数时报错寻根

warning: go env -w GOPROXY=… does not override conflicting OS environment variable


说明我们一家设置了goproxy代理变量,本文是在goland开发工具中设置GOPROXY变量,如下图所示:

那么如果需要在cmd中设置,可以去掉IDEA中设置即可;

四: 在cmd中设置变量遇 missing go.sum entry; to add it: 错误

类似这种的错误: missing go.sum entry; to add it: 

 D:\program_file\go_workspace> go mod tidy
go: go.mod file not found in current directory or any parent directory; see 'go help modules'

这个意思go.mod文件中不包括当前运行该命令的目录,运行该命令目录要么是go.mod文件什么的模块目录,或者是该运行目录下的子目录; 


我们在,项目根目录文件夹下创建一个go.mod文件,该文件由goland自动生成: 在项目"根"目录下:鼠标右键-->new-->Go Modules File 点击该选项,就会在根目录下生成一个go.mod文件

go.mod文件内容如下:

// module 默认自动生成的文项目文件夹的名称

module  go_workspace   // 模块名称可以改为项目文件夹的相同或者时子目录

再次运行相关命令Ok
PS D:\program_file\go_workspace> go mod tidy
go: go.mod file not found in current directory or any parent directory; see 'go help modules'
PS D:\program_file\go_workspace> cd .\org.jd.data\
PS D:\program_file\go_workspace\org.jd.data> go mod tidy
PS D:\program_file\go_workspace\org.jd.data> go mod tidy
PS D:\program_file\go_workspace\org.jd.data> cd ..
PS D:\program_file\go_workspace> go mod tidy
PS D:\program_file\go_workspace> go mod tidy
PS D:\program_file\go_workspace> go mod tidy
PS D:\program_file\go_workspace> go mod tidy
 

五: 在该目录中引入三方依赖即可

引入语法:

require (
    // 该处引入三方依赖
    github.com/go-sql-driver/mysql v1.7.1
)

如下载安装redis最新依赖:

PS D:\program_file\go_workspace> go install github.com/go-redis/redis@latest
go: downloading github.com/go-redis/redis v6.15.9+incompatible
 


最后三方依赖引入效果:

 六: 运行项目效果:




更多详细看官方文档: Go模块依赖解决详细文档|及打包发布解决方案




 

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

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

相关文章

left join时筛选条件对查询结果的

-- 创建表 CREATE TABLE table1 (id int(11) NOT NULL AUTO_INCREMENT,card_num varchar(60) DEFAULT NULL,customer_id varchar(60) DEFAULT NULL,PRIMARY KEY (id) ) ENGINE InnoDBAUTO_INCREMENT 12DEFAULT CHARSET utf8mb4 COMMENT 测试表1;-- 创建表 CREAT…

在线课堂知识系统源码系统+前端+后端完整搭建教程

大家好啊,今天罗峰来给大家分享一款在线课堂知识系统源码系统。这款系统的功能十分强大。可以使用手机随时随地地学习,有专业的导师答疑解惑。支持视频,音频,图文章节。以下是部分核心代码图: 系统特色功能一览&#x…

Git reset current branche here操作请谨慎停留3秒

Idea git弹框请谨慎操作 下面几个选项要慎选 reset操作说明 soft,将版本回滚,工作区不动,暂存区原来的回滚后和回滚前的版本差异。 mixed,将版本回滚,回滚到了所有 git add 和 git commit 的命令执行之前。暂存区变…

《持续交付:发布可靠软件的系统方法》- 读书笔记(六)

持续交付:发布可靠软件的系统方法(六) 第 6 章 构建与部署的脚本化6.1 引言6.2 构建工具概览6.2.1 Make6.2.2 Ant6.2.3 NAnt 与 MSBuild6.2.4 Maven6.2.5 Rake6.2.6 Buildr6.2.7 Psake 6.3 构建部署脚本化的原则与实践6.3.1 为部署流水线的每…

为什么推荐使用SSL付费证书?

虽然免费的SSL证书提供了一种获取加密连接的途径,但它们与付费证书相比存在一些局限性和不足之处。免费的SSL证书在某些情况下可能不建议使用,主要有以下几个原因: 1. 可能信任度较低:免费SSL证书通常由非权威的证书颁发机构&…

国内有哪些支持定制化开发的低代码平台?

在国内,有许多支持定制化开发的低代码平台。这些平台通过简化和加速软件开发过程,使企业能够快速构建和定制应用程序,而无需大量编码工作。下面将详细介绍其中几个具有代表性的低代码平台。 1. Datainside: Datainside是一款强大…

查看linux系统 管道/栈/最大打开文件数等 命令 ulimit -a

不同平台下对默认栈大小修改_gcc设置堆栈大小-CSDN博客一、前言:在应用程序我们经常需要定义大的数组,数组定义成局部变量非静态变量,那么数组就会在栈上分配,当数组超过默认栈的大小时,会引起非常内存访问。一般&…

全网最全,Postman接口自动化测试实战整理,避开所有弯路...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 背景描述 项目要…

信钰证券:新增融券交易明显降温 业内称新规将平衡多类型投资者利益

10月14日,中国证监会发布调整优化融券相关准则的通知,沪深北买卖所齐发具体安排,阶段性收紧融券和战略出资者配售股份出借。其间,融券保证金比例进步自10月30日起实施,战略出资者配售股份出借收紧等其他条款自10月16日…

大模型的实践应用1-利用ChatGLM2大模型研发智能自助用药问答系统,远程监控患者的用药情况

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用1-利用ChatGLM2大模型研发智能自助用药问答系统,远程监控患者的用药情况。 随着人工智能技术的发展,我们的生活在许多方面都得到了改善。医疗领域也不例外。本文将介绍如何利用大模型(例如ChatGLM2-6b,文心一言,通义…

2023最新软件测试面试题解析

前言 时光荏苒,一转眼已踏入2023年,进入金九银十,人员就业市场以往的寒冬也貌似有了转暖的迹象,身边大批的就业人员也开始了紧张的备战之中。 近几周也和多家合作公司的HR进行了沟通,发现虽然岗位就业情况较去年有所…

Python数据分析实战-使用map方法根据字典中的映射关系替换某列的值(附源码和实现效果)

实现功能 使用map方法根据字典中的映射关系替换某列的值 实现代码 import pandas as pd# 创建一个示例DataFrame data {A: [1, 2, 3, 4, 5],B: [a, b, c, d, e]} df pd.DataFrame(data)# 打印映射替换前的DataFrame print("映射替换前的DataFrame:")…

windows中elasticsearch7中添加用户名密码验证

1.找到elsatic的bin目录输入cmd 2.生成ca证书 输入 elasticsearch-certutil ca 在es7根目录生成ca证书,输入密码时直接回车即可,否则后面会报错 Please enter the desired output file [elastic-stack-ca.p12]: #这里直接回车即可 Enter password for…

SAP-QM-采购过程模式与特性检验不匹配QD244

在创建物理样本,维护检验计划的采样过程时报错,从报错看,这个采样过程的评估模式和检验特性不匹配, 评估模式为700 700是根据特征上下线,计算平均值进行评估,是定量特性,经过测试 是检验特性的…

代码随想录第46天 | ● 583. 两个字符串的删除操作 ● 72. 编辑距离

583. 两个字符串的删除操作 /*** param {string} word1* param {string} word2* return {number}*/ var minDistance function(word1, word2) {const dp new Array(word1.length 1).fill(0).map(x > new Array(word2.length 1).fill(0));for (let i 0; i < word1.le…

软件外包开发测试文档

编写软件测试文档是确保软件质量和有效执行测试的关键步骤。以下是编写软件测试文档的一般步骤和建议&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 文档概述&#xff1a; 开始文档&#xff0c;提供…

ISR实现RDN图像增强

ISR实现RDN图像增强 图像增强作用ISR项目安装1.从PyPI安装ISR&#xff08;推荐&#xff09;&#xff1a;2.从GitHub源代码安装ISR&#xff1a; 用法预测大图像推理 训练创建模型 RDN算法介绍Residual Dense Network的结构残差稠密块&#xff08;Residual Dense Block&#xff0…

九月 Web3 游戏报告:数量增长,巨头入场,用户获取和留存仍存挑战

作者: stellafootprint.network 9 月份&#xff0c;比特币价格窄幅波动&#xff0c;小幅上涨 3.7%。Web3 游戏行业正在增长&#xff0c;但月活跃用户超过 1,000 人的游戏仍不足 10%。不同公链上的游戏分布相对稳定&#xff0c;其中 BNB 以 30.9% 的份额领先。 随着 Web3 游戏…

【ARM Cache 系列文章 10 -- ARM Cortex-A720 Hunter 介绍】

文章目录 概述1.1 A720 Features1.1.1 core features1.1.2 Cache features1.1.3 Debug features 1.2 A720 组件介绍1.2.1 L1 缓存系统1.2.2 指令解码1.2.3 寄存器重命名1.2.4 指令分发单元1.2.5 向量执行单元1.2.6 加解密扩展单元1.2.6.1 有限域算法 1.3 接口1.4 GIC CPU Inter…

TTS | 语音合成模型实验结果经验总结

本文主要是语音合成模型实验结果经验总结&#xff01;&#xff01; 首先列出实验过的所有模型 Fastspeech&Fastspeech2Tacotron&Tacotron2Transformer-TTSBark(E2E)VITS/VITS2(E2E)NaturalSpeech2MB-iSTFT-VITS/ MB-iSTFT-VITS2(E2E) 1.语音合成主主要架构如下 2.模…