go-基础使用

14 篇文章 0 订阅
1 篇文章 0 订阅


简介:go mod是go语言的依赖管理工具

基本概念:
    go.mod: 配置文件/根目录
    go.sum: 校验文件
    goproxy:代理/缓存库
    $GOPATH/pkg/mod:本地安装目录(可以保存相同包的不同版本)
    
帮助文档:https://github.com/golang/go/wiki/Modules

go安装:
    官网:https://golang.org/dl/
    工具下载:https://golang.google.cn/dl/

代理仓库:
    go proxy存在的意义:https://goproxy.cn/
        1. 方便:不再需要任何 VSC 工具来下载依赖项,因为依赖项是通过 HTTP 获取的( Go proxy 在后台使用 HTTP)
        2. 快速:Go proxy 通过 HTTP 独立提供源代码(.zip 存档),比起使用vsc工具下载量小
        3. 不丢失:代理会缓存(代码仓存在域名/版本消失的可能)
        4. 不被篡改:不能被覆盖
        5. 远端缓存(和vendor目录相比)

go mod 命令的使用

    go help module-get

    go mod init mpdule:初始化go mod, 生成go.mod文件,后可接参数指定 module 名
    
    go run main.go:运行源码

    go mod tidy   #代码引入,gomod没引入时,往go.mod添加缺少的包,且删除无用的包,没有go.sum会自动生成
    go mod download -x:手动触发下载依赖包到本地cache(默认为$GOPATH/pkg/mod目录)
    go get golang.org/x/crypto/sha3@master   #从VCS(版本控制系统)拉取源码
    go clean -modcache  #清除编译文件
    go mod graph: 打印项目的模块依赖结构
    go list -m -json all:以 json 的方式打印依赖详情

    go env -w ...       #在${HOME}/.config/go/env
    go mod edit --module=github.com/islishude/gomodtest
    
配置文件:
go.mod
    第一行:包名(module语句)
    第二行:项目使用的 go 版本
    第三行:项目所需的直接依赖包及其版本
        require语句指定的依赖项模块
        replace语句可以替换依赖项模块
        exclude语句可以忽略依赖项模块
        
go.sum:记录zip和go.mod的SHA-256
    <module> <version>[/go.mod] <hash>


无go.mod文件:
    gopath:$GOPATH/src/ 包含自研源码和依赖源码
    go vendor 特性,需要将使用 go get 命令获取到的第三方目录 剪切或复制 到 src/my-program-name/vendor/ 目录下。
有go.mod文件时,默认启用 modules特性
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值