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

公司网站百度小程序开发备案域名交易平台

公司网站百度小程序开发,备案域名交易平台,淘宝网站怎么做视频教程,网页制作重庆文章目录 什么是 Go Modules为什么要使用 Modules怎么使用前置条件项目初始化如何安装/管理依赖?依赖安装 go get版本选择方式 替换版本 replace间接依赖 && go mod tidy远程代理 总结 什么是 Go Modules Module 是 Go 的依赖管理工具。 核心概念 Module…

文章目录

  • 什么是 Go Modules
  • 为什么要使用 Modules
  • 怎么使用
    • 前置条件
    • 项目初始化
    • 如何安装/管理依赖?
      • 依赖安装 go get
      • 版本选择方式
    • 替换版本 replace
    • 间接依赖 && go mod tidy
    • 远程代理
  • 总结

什么是 Go Modules

Module 是 Go 的依赖管理工具。

核心概念

  • Modules 模块
    定义:简易来说,go.mod 文件所处的根目录即为模块,一个 modules 中包含了多个 package。
  • Package 包
    一个文件夹下的多个 go 文件构成了一个包,每个文件顶部都有 package xxx 的声明文件所属的包
  • Version 版本
    一个版本标识模块的一个不可变快照,每个版本以 v 开头。版本包括 主版本号、次版本号、补丁版本号等。
    在 Go Modules 中,每次创建一个大版本,必须创建一个新的子目录。如 github.com/pelletier/go-toml/v2

为什么要使用 Modules

简单来说,go Modules 大势所趋。

从历史来说,在 Modules 之前,使用 vendor进行包管理。vendor 的管理方式非常简单, 将项目的所有依赖项复制到本项目的 vendor 目录下,需要时首先从 vendor 目录中寻找。

vendor 的缺点非常明显,当你将依赖下载到 vendor 目录下时,是无法指定版本的,而且你也很难感知到自己所下载的依赖版本。

Modules 提供的一个核心能力就是对依赖版本的管理。

怎么使用

前置条件

  • go 版本 >= 1.11

  • 设置 GO111MODULE && go proxy
    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn,direct

开启 go111Module 之后,go 会在 modules 根目录下找依赖,而不会去 gopath 中找,当前默认值时auto。

项目初始化

go mod init 初始化一个模块,该命令生成一个 go mod 文件,管理依赖项。

如何安装/管理依赖?

依赖安装 go get

go get 命令下载、编译、安装,命令如下

go get dependenct@version

go get 会将依赖安装到 $gopath/pkg/mod,可以通过@指定版本号

同时,go get 还可以对依赖进行更新,命令如下

	go get -u dependece

使用上述 go get 命令时,go modules 会自动更新 go.mod记录新的依赖项。

版本选择方式

安装依赖时,对版本的选择有多种方式:通配符匹配、比较运算符、精确版本。

  • 通配符 ( * )
    • 匹配任意数字或者字符,例如 v1.2.* 可以匹配任意版本
  • 比较版本
    • > 大于某版本
    • >= 大于等于某版本
    • < 小于某版本
    • <= 小于等于某版本
    • != 不等于某版本
    • -:范围 v1.0-v1.3(包含边界)
  • 精确版本
    • 直接使用具体的版本号 v1.2.3

替换版本 replace

go mod repalce module replacement
将 module 替换为 replacement

go mod replace github.com/example/foo v1.2.3
更换版本

go mod replace github.com/example/bar …/some-local-module
更换为本地版本

使用 go mod replace 之后,需要使用 go mod tidy 更新 go mod go sum 文件。

一般是用于测试。其他场景避免使用

间接依赖 && go mod tidy

  1. 直接依赖:直接依赖是您在项目的 go.mod 文件的 require 部分明确列出的依赖项。这些依赖项通常是您在代码中直接导入并使用的模块,它们是您项目直接依赖的模块。

  2. 非直接依赖:非直接依赖是其他模块的依赖项,也就是您项目的直接依赖项所依赖的模块。这些非直接依赖项不会在您项目的 go.mod 文件的 require 部分中列出,而是在其他模块的 require 部分中列出。

go mod tidy 命令是 Go Modules 中的一个命令,用于维护和更新项目的 go.modgo.sum 文件,以保持依赖项的一致性和正确性。

在执行 go mod tidy 命令时,Go 编译器会增加缺失的依赖、删除未使用的直接依赖项、更新直接依赖项的版本、更新 go.sum 文件

远程代理

Go Modules 支持使用远程代理来加速模块的下载和构建过程,简单来说无法直接访问 Go 官网时通过代理进行下载。具体命令

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

配置完成后,通过 go getgo mod tidy 时,首先使用代理网站下载更新依赖。

总结

我对 Go Modules 的理解,通过 Modules 实现了对依赖的版本控制,所有的依赖默认下载在 $GoPath/pkg/mod 下,Modules 通过 go.mod 文件指明当前项目所使用的依赖及其具体版本。

http://www.shuangfujiaoyu.com/news/37477.html

相关文章:

  • wordpress默认主题修改版武汉seo首页优化报价
  • liferay 做网站微博seo营销
  • 长沙做网站湖南微联讯点不错广告公司的业务范围
  • 专门学设计的网站上海网站推广广告
  • seo建站优化价格表如何提升网站seo排名
  • 晋中推广型网站开发网络营销发展现状与趋势
  • 建网站卖阀门网站seo优化效果
  • WordPress rpc 通知吉林关键词优化的方法
  • 营销网站结构图搜索引擎营销的英文缩写
  • 东昌府做网站推广网址关键词查询
  • wordpress创建导航优化大师下载
  • 南阳哪有做网站公司谷歌seo零基础教程
  • wordpress购物车如何做优化排名
  • 备案中网站打不开国外b站视频推广网站
  • 网站设计 企业 济南网站建设有哪些公司
  • 网站获取qq号码 原理百度app下载最新版
  • 河北廊坊建设银行网站宁波网络推广运营公司电话
  • 广告策划书案例完整版sem与seo的区别
  • 长沙网站建设公司哪家专业爱站网关键词挖掘
  • 怎么用虚拟主机做网站步骤佛山百度关键词seo外包
  • iis 网站显示建设中百度指数分是什么
  • 做特殊任务的网站什么是网络营销战略
  • 鄞州区网站建设报价18款禁用网站app直播
  • 网站建设 响应式 北京新东方在线教育平台官网
  • 怎么做电商网站推广图们网络推广
  • 简单网页制作模板免费seo规范培训
  • 实例网站制作教程大地seo视频
  • 做网站+广告费+步骤软文生成器
  • 招商网站大全免费seo外链增加
  • axure中继器做网站电商网站设计