【Go语言】“./mathClass“ is relative, but relative import paths are not supported in module mode

在Go编程中遇到一个错误,提示相对导入不支持在模块模式下。通过创建`go.mod`文件并更新`helloworld.go`的导入路径,成功解决了自定义包的导入问题,实现了功能的正常运行。
摘要由CSDN通过智能技术生成

起因

在看菜鸟教程的时候遇到包相关的问题

代码

// helloworld.go
package main

import (
"fmt"
"./myMath"
)

func main(){
    fmt.Println("Hello World!")
    fmt.Println(mathClass.Add(1,1))
    fmt.Println(mathClass.Sub(1,1))
}
// myMath1.go
package mathClass
func Add(x,y int) int {
    return x + y
}
// myMath2.go
package mathClass
func Sub(x,y int) int {
    return x - y
}
文件结构
package_addsub
--helloworld.go
myMath
--myMath1.go
--myMath2.go

问题

PS C:\Users\LOUHOIN\Desktop\UserName\GoCode\package_addsub> go run helloworld.go
helloworld.go:5:2: "./myMath" is relative, but relative import paths are not supported in module mode

解决方法

引入go.mod来使用自定义包

文件结构
package_addsub
--helloworld.go
--go.mod
myMath
--myMath1.go
--myMath2.go
// helloworld.go
module package_addsub

go 1.20

修改helloworld.go的import部分

// helloworld.go
package main

import (
	"fmt"
	mathClass "package_addsub/myMath"
)

func main() {
	fmt.Println("Hello World!")
	fmt.Println(mathClass.Add(1, 1))
	fmt.Println(mathClass.Sub(1, 1))
}

再次运行,顺利解决

PS C:\Users\LOUHOIN\Desktop\UserName\GoCode\package_addsub> go run helloworld.go
Hello World!
2
0

相关链接

GO语言—go mod 以及包详解
菜鸟教程-Go语言结构

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值