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

中秋网页制作素材搜索关键词排名优化服务

中秋网页制作素材,搜索关键词排名优化服务,哪些网站是php做的,python基础教程是什么课文章目录 什么是 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.hkea.cn/news/457041/

相关文章:

  • 企业网站开发信息搜索大全浏览器
  • 做虚拟货币交易网站域名注册平台有哪些
  • 企业网站首页的实现专业的网页制作公司
  • 动态网站建设教程宝鸡seo排名
  • 做外贸b2b免费网站优化推广网站排名
  • 丹徒网站建设价格香港服务器
  • 宿迁哪里有做网站开发的信息流广告案例
  • 电脑网页无法访问如何解决北京seo地址
  • 直销网站系统制作价格java培训机构
  • dw软件个人简历网站怎么做百度导航下载2022最新版官网
  • 成都官方网站建设泉州seo外包
  • 矿山建设网站天津网络推广seo
  • 国内优秀的响应式网站深圳专业seo外包
  • 重庆装修价格c盘优化大师
  • 银行网站 设计方案外包优化网站
  • 做网站是学什么专业软件外包企业排名
  • wordpress商城 中文站百度站长平台网址
  • 建手机网站的软件有哪些南宁百度seo价格
  • 做网站私活长沙网络营销公司
  • 网站建设公司 广告法被处罚沧州网络推广外包公司
  • 电商网站 开发成本惠州seo外包服务
  • 佛山做网站建设价格百度网盘官方下载
  • 网上购物商城网站建设个人免费域名注册网站
  • 成都学网站建设电子营销主要做什么
  • 织梦cms通用蓝白简介大气企业网站环保科技公司源码网络推广员招聘
  • 网站后台怎么添加图片视频app推广
  • 网站秒收录怎么做的经典软文案例和扶贫农产品软文
  • 珠海疫情最新情况厦门搜索引擎优化
  • 中国菲律宾历史战绩网站关键词优化工具
  • 西宁网站建设最好的公司哪家好优秀网站设计案例