Go go.mod快速入门,告别GoPath

在这里插入图片描述

go mod

Golang1.11版本开始,引入了官方的包管理工具go mod,也就是依赖管理,
项目中go.mod文件是模块定义以及依赖信息集合,
类似maven项目中的pom.xml。

如何使用

1、确保go版本为1.11或更高

本文go版本号为1.16.3

2、开启gomodule

go env -w GO111MODULE=on

3、设置goproxy

使用国内代理提高依赖包下载速度

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

4、设置项目goPath

项目goPath:相当于工作空间

a、新建目录:D:\work\goWorkspace
b、在该目录下新建src目录,将来我们的项目就存放于src目录
c、创建项目helloGoMod

idea→File→New→Project…
在这里插入图片描述
然后next
项目位置:D:\work\goWorkspace\src\helloGoMod
最后finish
在这里插入图片描述
在这里插入图片描述

d、配置项目goPath

Ctrl+Alt+S→Languages & Frameworks→Go→GOPATH→add Project GOPATH
D:\work\goWorkspace
在这里插入图片描述
如果项目无法正常引用依赖,配置Go Modules
GOPROXY=https://goproxy.cn,direct
在这里插入图片描述
然后Apply→OK

e、go mod初始化项目

在目录D:\work\goWorkspace\src\helloGoMod>下执行

go mod init helloGoMod

在这里插入图片描述
项目中会多出go.mod文件
在这里插入图片描述

为什么使用

使用goPath管理项目依赖
项目必须要放在全局goPath下的src目录中,
依赖包全部是在全局goPath下的pkg包中,

而使用go mod
我们的项目可以在其它目录下,
下载的依赖包是在项目goPath:D:\work\goWorkspace下的pkg包中,
go mod更灵活,这很酷。

我们在项目下使用go get安装依赖时,会自动维护go.mod文件,
例如:
安装web框架gin

go get -u github.com/gin-gonic/gin

go.mod

module helloGin

go 1.16

require (
	github.com/gin-gonic/gin v1.7.1
)

依赖其它自定义模块

我们还有一个模块helloGin
它的go.mod如下:

module helloGin

go 1.16

require (
	github.com/gin-gonic/gin v1.7.1
	github.com/robfig/cron v1.2.0
	github.com/stretchr/testify v1.7.0
	gopkg.in/ini.v1 v1.62.0
)

在helloGin的utils下有一个util类:
在这里插入图片描述

package utils

import (
	"fmt"
	"time"
)

func PrintJob() {
	fmt.Println(time.Now())
}

想要在helloGoMod中引用helloGin的utils包
需要在helloGoMod的go.mod中添加:

require helloGin v0.0.0
replace helloGin v0.0.0 => ../helloGin

"…/"表示回到上一级目录

调用打印当前时间

package main

import (
	"helloGin/utils"
)

func main() {
	utils.PrintJob()
}

在这里插入图片描述

这里是将依赖替换为了本地包

或者可以将你的代码维护在码云或gitlab上,直接通过go get下载依赖。

go mod命令

例如:

go mod init helloGoMod

在这里插入图片描述

不当之处,请予指正。

参考文章:

SanfordZhuGo go.mod入门
koowave告别GOPATH,快速使用 go mod(Golang包管理工具)
huzhenweigo mod模式下引用本地包/模块(module)的方法
张兵帅Go Module 引入本地自定义包

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值