脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - 详解go mod 使用方法

详解go mod 使用方法

2022-10-07 15:12小楼夜听雨QAQ Golang

golang 提供了 go mod命令来管理包,是go的一个模块管理工具,用来代替传统的GOPATH方案,本文给大家介绍go mod 使用方法,感兴趣的朋友一起看看吧

go modules 是 golang 1.11 新加的特性。现在1.12 已经发布了,是时候用起来了。Modules官方定义为:

模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。

如何使用 Modules ?

  • 把 golang 升级到 1.11(现在1.12 已经发布了,建议使用1.12)
  • 设置 GO111MODULE

go mod是go的一个模块管理工具,用来代替传统的GOPATH方案。下面是基本的使用方法:

假设我现在想要创建一个项目来学习go的语法,项目名为grammar,路径为 E:/go/grammar。

 

1、进入grammar文件夹

 

2、初始化目录

go mod init dayrain.cn/grammar

dayrain.cn/grammar是一个标识,一般是 主机名+模块名

初始化后,会自动创建一个go.mod文件,有go的版本号,以及所依赖的模块信息。

详解go mod 使用方法

 

3、导入自定义的模块

新建一个lib1包,写一个简单的加法函数

详解go mod 使用方法

add.go

package lib1
func Add(a int, b int) int {
	return a + b
}

在start.go中调用此方法

package main
import (
	"dayrain.cn/grammar/lib1"
)
func main() {
	res := lib1.Add(1, 1)
	print(res)
}

运行结果(go run start.go):

详解go mod 使用方法

 

4、导入本地没有的模块

比如我想用日志打印刚才的res,可以修改start.go文件

package main
import (
	"dayrain.cn/grammar/lib1"
	"github.com/golang/glog"
)
func main() {
	res := lib1.Add(1, 1)
	glog.Info(res)
}

这个时候vscode给出错误提示

详解go mod 使用方法

运行 go build命令

详解go mod 使用方法

提醒我们要先go get github.com/golang/glog 获取模块

获取成功后,go.mod多了一行require。

详解go mod 使用方法

 

常用命令

1、初始化模块

go  mod  init   模块名 

2 、获取远程的模块

go get  模块名         

3、 查看当前依赖模块

go list -m all           

详解go mod 使用方法

4、清除未使用到的依赖

go mod tidy  

到此这篇关于gomod使用方法的文章就介绍到这了,更多相关gomod使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_37855749/article/details/121549672

延伸 · 阅读

精彩推荐
  • GolangGolang的第一个程序-Hello World

    Golang的第一个程序-Hello World

    这篇文章主要介绍了第一个Go程序-Hello World,在编写第一个go程序之前,我们要将系统的环境变量配好,下面来看具体的编一过程吧,需要的小伙伴可以参考...

    小叶柏杉3622022-08-31
  • GolangUbuntu安装Go语言运行环境

    Ubuntu安装Go语言运行环境

    由于最近偏爱Ubuntu,在加上作为一门开源语言,在Linux上从源代码开始搭建环境更让人觉得有趣味性。让我们直接先从Go语言的环境搭建开始 ...

    脚本之家3872020-04-26
  • Golanggolang的强制类型转换实现

    golang的强制类型转换实现

    这篇文章主要介绍了golang的强制类型转换实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随...

    紫葡萄010292021-03-29
  • GolangGo语言实现的一个简单Web服务器

    Go语言实现的一个简单Web服务器

    这篇文章主要介绍了Go语言实现的一个简单Web服务器,本文先是给出一个使用http包建立的Web服务器源码,并对比了其它编程语言,需要的朋友可以参考下 ...

    junjie5872020-04-09
  • GolangMac GoLand打不开(闪退)也不报错的解决方案

    Mac GoLand打不开(闪退)也不报错的解决方案

    这篇文章主要介绍了Mac GoLand打不开(闪退)也不报错的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    DefineJ10232021-06-04
  • GolangGo语言中slice作为参数传递时遇到的一些“坑”

    Go语言中slice作为参数传递时遇到的一些“坑”

    这篇文章主要给大家介绍了关于Go语言中slice作为参数传递时遇到的一些“坑”,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考...

    DeenJun2292020-05-14
  • GolangGo各时间字符串使用解析

    Go各时间字符串使用解析

    这篇文章主要介绍了Go各时间字符串使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随...

    caoayu7842021-04-23
  • GolangGo语言结构体Go range的学习教程

    Go语言结构体Go range的学习教程

    这篇文章主要为大家介绍了Go语言结构体Go range的学习教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    梦想橡皮擦7542022-07-29