使用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)
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
