Bootstrap

Go语言path is relative, but relative import paths are not supported in module mode

博主由于需要,刚学习Go语言,编写了一个Helloworld工程。结果就发生了标题的报错,差点浇灭了博主的学习热情。

一、问题

// 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))
}

在myPath目录下面有两个Go文件

myMath1.go

// myMath1.go
package mathClass
func Add(x,y int) int {
    return x + y
}

myMath2.go

// myMath2.go
package mathClass
func Sub(x,y int) int {
    return x - y
}

在终端中运行,直接报错。

root@ubuntu:/home/xiaopang/share/software/go/code# go run HelloWorld.go
HelloWorld.go:6:1: “./myPath” is relative, but relative import paths are not supported in module mode

找了半天找不到解决方案。

只有靠自己了。

二、解决方案

字面意思是说./myPath是相对路径,在此模式下不支持相对路径。

强扭的瓜不甜,不支持,就实验了一下,

1、把./去掉了

2、root@ubuntu:/home/xiaopang/share/software/go/code#mv myPath /usr/local/go/src

.把myPath移动到/usr/local/go/src下面,go就能找到这个目录了。

// helloworld.go
package main
 
import (
"fmt"
"myPath"
)
 
func main(){
    fmt.Println("Hello World!")
    fmt.Println(mathClass.Add(1,1))
    fmt.Println(mathClass.Sub(1,1))
}

再次运行,搞定!

root@ubuntu:/home/xiaopang/share/software/go/code# go run HelloWorld.go
Hello World!
2
0

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

;