当前位置: 首页 > 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.yayakq.cn/news/427063/

相关文章:

  • 关注网站制作微信公众号开通商城
  • 网站关键词修改中国丹阳
  • 湖北省建设厅质监站网站杭州搭建网站
  • 企业网站建设代理商比较好的公司网站
  • 国外优秀设计网站建设网站公开教学视频
  • 网站建设公司 上佛山建设外贸网站
  • 国内酒店网站建设wordpress美化主题下载
  • 西安网站开发工程师国外网站平台
  • 郑州网站建设幸巴wordpress 前台注册
  • 品牌网站模板母婴网站模板
  • 常州网站建设企业网站制作高端大气公司名称
  • 网站后台开发网站建设与经营
  • 网站建设中的pv指的是啥建设网站采用的网络技术
  • 网站图标的制作h1优化代码二维码生成器小程序免费版
  • 企业网站设计需要了解网站建设的可行性报告
  • 手机建站专家网站后台管理的超链接怎么做
  • 驻马店网站seo简单的ui界面制作
  • 双鱼儿 网站建设营销策划公司是做什么的
  • 博罗网站建设哪家便宜临沧市建设局网站
  • 如何添加网站为信任站点淘宝客没网站怎么做
  • 珠海市规划建设局网站怎样做网站管理
  • 用别人网站名做长尾关键词百度首页广告多少钱
  • 公司注销预审在什么网站做西安高校定制网站建设
  • 设计师怎么做响应式网站网站域名备案与不备案的区别
  • html 网站模板wordpress island.zip
  • 昆山网站建设推荐深圳建设怎么样
  • 手机网站设计与实现毕业设计营销型网站建设哪个好
  • 网站 宗旨天津网站建设专家
  • 网站空间在哪买好网站工信部备案流程
  • 哪个网站上做ppt比较好看的html5网站建设