使用go mod导入本地自定义包问题
作者:CoderLonely
这篇文章主要介绍了使用go mod导入本地自定义包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
go mod导入本地自定义包
1.要使用gomod首先要开启gomod,而不使用旧方法导入包
go env -w GO111MODULE=on
2.创建项目
mkdir myproject go mod init myproject
假设项目目录为:
其中main包和utils包同级
3.在main包中就可以使用utils包了
package main import ( "fmt" //导入自定义包时直接加上项目名,因为项目在init时已经添加到go环境中了 "myproject/utils" ) func main(){ fmt.Println("hello world") //调用utils中的Test函数 utils.Test() }
golang如何引入自定义包
比如安装go jdk在D盘D:\golang\bin
建议将项目放在D:\golang\src目录下,这时候直接可以读取GOPATH为D:\golang\src,此时引入自定义包路径即为自己项目名称+具体包路径
1.第一种比较笨的方式
比如可以在D:\golang\src下建一个项目my-project
my-project目录层级如下:
- main/main.go
- utils/utils.go
main.go调用自定义包utils包的方法GetSum
package main import ( "fmt" "my-project/utils" ) func main() { var result int = utils.GetSum(100, 200) fmt.Println(result) }
utils.go包下可以自定义包名和函数GetSum
package utils func GetSum(a int, b int) int { return a + b }
2.第二种使用go.mod的方式,项目比较推荐
早在终端输入命令:go mod init 后面一般跟git项目路径即可
执行完go mod init github.com/golang/go-web命令生成 go.mod文件大致如下,后面这只是虚拟个人git项目地址,根据个人项目情况而定:
module github.com/golang/go-web go 1.20
导入包测试
新建一个testModule/test.go
package testModule func CountSum(a int, b int) int { return a + b }
在main.go入口文件引入包测试
package main import ( "fmt" "github.com/golang/go-web/testModule" ) func main () { res := testModule.CountSum(23, 88) fmt.Println("输入计算结果:", res) }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。