依赖管理 · go语言中文文档


本站和网页 https://www.topgoer.com/%E5%85%B6%E4%BB%96/%E4%BE%9D%E8%B5%96%E7%AE%A1%E7%90%86.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

依赖管理 · Go语言中文文档
前景 开发环境 Go的安装 配置GOPATH 编辑器 Git安装 第一个go程序 Go基础 Go语言的主要特征
Golang内置类型和函数
Init函数和main函数
命令
运算符
下划线
变量和常量
基本类型
数组Array
切片Slice
指针
Map
结构体
流程控制
条件语句if
条件语句switch
条件语句select
循环语句for
循环语句range
循环控制Goto、Break、Continue
函数
函数定义
参数
返回值
匿名函数
闭包、递归
延迟调用(defer)
异常处理
单元测试
压力测试
方法
方法定义
匿名字段
方法集
表达式
自定义error
面向对象
接口
网络编程
互联网协议介绍
socket编程
socket图解
TCP编程
UDP编程
TCP黏包
http编程
WebSocket编程
并发编程
并发介绍
Goroutine
runtime包
Channel
Goroutine池
定时器
select
并发安全和锁
Sync
原子操作(atomic包)
GMP 原理与调度
爬虫小案例
数据操作
go操作MySQL
Insert操作
Select操作
Update操作
Delete操作
MySQL事务
go操作Redis
Redis介绍
链接Redis
String类型Set、Get操作
String批量操作
设置过期时间
List队列操作
Hash表
Redis连接池
go操作ETCD
ETCD介绍
操作ETCD
zookeeper
基本操作测试
简单的分布式server
Zookeeper命令行使用
go操作kafka
Kafka介绍
Kafka深层介绍
Kafka的安装
操作Kafka
go操作RabbitMQ
RabbitMQ介绍
RabbitMQ安装
Simple模式
Work模式
Publish模式
Routing模式
Topic模式
go操作ElasticSearch
ElasticSearch介绍
Elasticsearch安装
Kibana安装
操作ElasticSearch
NSQ
安装
生产者
消费者
GORM
Gorm介绍
Gorm查询
Gorm更新
Gorm删除
Gorm错误处理
Gorm事务
Sql构建
Gorm用法介绍
Gorm官方文档
go操作memcached
常用标准库
fmt
Time
Flag
Log
IO操作
Strconv
Template
Http
Context
数据格式
反射
beego框架
简介
beego 安装
beego 安装升级
bee工具的使用
快速入门
新建项目
路由设置
Controller运行机制
Model逻辑
View编写
静态文件处理
beego的MVC架构介绍
controller设计
参数配置
控制器函数
XSRF过滤
请求数据处理
Session控制
过滤器
Flash数据
URL构建
多种格式数据输出
表单数据验证
错误处理
日志处理
model设计
概述
ORM使用
CRUD操作
高级查询
原生SQL查询
构造查询
事务处理
模型定义
命令模式
测试用例
自定义字段
FAQ
view设计
模板语法指南
模板处理
模板函数
模板分页处理
beego的模块设计
Session模块
Grace模块
Cache模块
Logs模块
Httplib模块
Context模块
Toolbox模块
Config模块
I18n模块
beego高级编程
进程内监控
API自动化文档
应用部署
独立部署
Supervisor部署
Nginx部署
Apache部署
beego第三方库
应用例子
在线聊天室
短域名服务
Todo列表
beego实用库
验证码
分页
gin框架
gin路由
基本路由
Restful风格的API
API参数
URL参数
表单参数
上传单个文件
上传多个文件
routes group
路由原理
gin 数据解析和绑定
Json 数据解析和绑定
表单数据解析和绑定
URI数据解析和绑定
gin 渲染
各种数据格式的响应
HTML模板渲染
重定向
同步异步
gin 中间件
全局中间件
Next()方法
局部中间件
中间件练习
会话控制
Cookie介绍
Cookie的使用
Cookie练习
Cookie的缺点
Sessions
参数验证
结构体验证
自定义验证
多语言翻译验证
其他
日志文件
Air实时加载
gin验证码
微服务
认识微服务
微服务生态
微服务详解
RPC
Raft
gRPC
Protobuf语法
gRPC构建微服务
Go Micro入门
Go Micro接口详解
插件库
跨平台交叉编译
文件上传
依赖管理
高效读取配置信息
实时读取文件内容
加密解密
哈希算法
md5
base64
sha
hmac
跨域
系统性能数据gopsutil库
pprof性能调优
数据绑定结构体
查询结果反射结构体
form数据绑定结构体
验证器
流量控
发邮件
页面静态化
文件监控
雪花算法
函数验证中间键
封装websocket
生成PDF
获取HTTP请求的IP地址
JSON Web令牌
检查切片中是否存在元素
查看图片主要颜色
判断字符串开头
字符串中解析日期
压缩解压文件
PDF转JPG
markdown解析库
选项设计模式
运行系统命令和二进制文件
proxy转发
字符串数组排序
带进度条大文件下载
gjson
解决中文乱码
二维码
Yaml编码和解码
中文分词
项目
github库地址
TCP扫描器
定时任务
cron
gocron
基于角色的访问控制框架
uuid
支付宝支付
微信支付
千万数据过滤
需求
读入数据
数据清洗
省份划分
go-admin
log
Logger
Zap Logger
日志切割归档
聊天室小案例
性能压测工具wrk
gcc安装
开源仓库
go学习线路图
音频和音乐
身份验证和OAuth
机器人相关
标准CLI
构建用户界面库
配置
持续集成
CSS预处理器
数据结构
数据库
数据库架构迁移
数据库工具
SQL查询构建器
数据库驱动
关系数据库
NoSQL数据库
搜索和分析数据库
多个后端
日期和时间
分布式系统
电子邮件
嵌入式脚本语言
文件
金融
Forms
功能性
游戏开发
生成与泛型
地理位置
编译器
Goroutines
图形界面
图片
物联网
工作计划
JSON格式
Logging
机器学习
实现消息传递
微软办公软件
依赖注入
项目布局
Strings
自然语言处理
网络
HTTP客户端
OpenGL
ORM
包管理
性能
查询语言
资源嵌入
科学与数据分析
安全
序列化
服务器应用
流处理
模板引擎
测试
文字处理
第三方API
实用工具
UUID
验证方式
版本控制
视频
Web框架
中间件
路由器
视窗
XML格式
代码分析
编辑器插件
硬件
go生成工具
go工具
DevOps工具
持续更新...
go中文标准文档
Golang 58个坑
资料下载
零碎知识点
面试题
关于
更新列表
持续更新中...
豫ICP备20001572号-1
1.
依赖管理
1.1.1.
为什么需要依赖管理
1.1.2.
go module
1.1.3.
GO111MODULE
1.1.4.
GOPROXY
1.1.5.
go mod命令
1.1.6.
go get
1.1.7.
简单粗暴的使用go module
1. 依赖管理
1.1.1. 为什么需要依赖管理
最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解决?
1.1.2. go module
go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。
1.1.3. GO111MODULE
要启用go module支持首先要设置环境变量GO111MODULE,通过它可以开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是auto。
GO111MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。
GO111MODULE=on启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。
GO111MODULE=auto,当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持。
简单来说,设置GO111MODULE=on之后就可以使用go module了,以后就没有必要在GOPATH中创建项目了,并且还能够很好的管理项目依赖的第三方包信息。
使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。
1.1.4. GOPROXY
Go1.11之后设置GOPROXY命令为:
export GOPROXY=https://goproxy.cn
Go1.13之后GOPROXY默认值为
https://proxy.golang.org
,在国内是无法访问的,所以十分建议大家设置GOPROXY,这里我推荐使用goproxy.cn。
go env -w GOPROXY=https://goproxy.cn,direct
1.1.5. go mod命令
常用的go mod命令如下:
go mod download
下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit
编辑go.mod文件
go mod graph
打印模块依赖图
go mod init
初始化当前文件夹, 创建go.mod文件
go mod tidy
增加缺少的module,删除无用的module
go mod vendor
将依赖复制到vendor下
go mod verify
校验依赖
go mod why
解释为什么需要依赖
1.1.6. go get
在项目中执行go get命令可以下载依赖包,并且还可以指定下载的版本。
运行go get -u将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
运行go get -u=patch将会升级到最新的修订版本
运行go get package@version将会升级到指定的版本号version
如果下载所有依赖可以使用go mod download命令。
1.1.7. 简单粗暴的使用go module
1.set GO111MODULE=on
2.SET GOPROXY=
https://goproxy.cn
(这是win环境下的)
export GOPROXY=
(这是mac环境下的)
3.go mod init [包名] // 初始化项目(如果你是初始化项目直接
就好了)
4.在你的目录文件下会生成go.mod和go.sum文件 go.mod 里面包含了你的所有的包!
5.在文件里面引入包名的时候有的编辑器会报错但是是可以正常编译的
6.下载包使用go get
7.修改包的版本号直接去go.mod文件修改然后go mod download
results matching "
No results matching "