Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > Golang 引入GOPATH

Golang 自定义包引入GOPATH 模式

作者:lead520lyq

本文主要介绍了Golang 自定义包引入GOPATH 模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

GOPATH工作区根目录,安装go时配置的环境变量,引入的包的位置必须在GOPATH的src目录下。通过以下命令可查看:

go env GOPATH

定义好项目结构:

main.go

package main

import (
	"fmt"
	"project01/utils"
)

func main() {
	fmt.Println("---------------")
	sum := utils.GetSum(10, 20)
	fmt.Println(sum)
}

utils.go

package utils

func GetSum(num1 int, num2 int) int {
	return num1 + num2
}

在执行go run main.go之前必须要检查:GO111MODULE 配置

GO111MODULE 有三个值:off, on和auto(默认值)

a.GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
b.GO111MODULE=on,go命令行会使用modules,不会去GOPATH目录下查找。依赖包的存放位置变更为$GOPATH/pkg,允许同一个package多个版本并存,且多个项目可以共享缓存的 module。
c.GO111MODULE=auto,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:

当前目录在GOPATH/src之外且该目录包含go.mod文件

当前文件在包含go.mod文件的目录下面。

具体情况可查看go.mod使用

貌似go1.25.0 版本GO111MODULE 默认是打开的,所以必须通过以下命令给关闭:

go env -w GO111MODULE=off

go clean -modcache

通过以上操作就可实现GOPATH模式引入依赖包

到此这篇关于Golang 自定义包引入GOPATH 模式的文章就介绍到这了,更多相关Golang 引入GOPATH 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文