这是我的代码结构:
addition
|_ summing
|_ sum_prg.go
|_ addition.go
|_ go.mod
go.mod的内容
module addition
go 1.14
sum_prg.go的内容
package summing
func sumIt(ii int) int {
return ii + 10
}
additioning.go的内容
package main
import (
"fmt"
"summing"
)
func main() {
fmt.Println("hi")
fmt.Println(summing.sumIt(1))
}
这是我执行的步骤:
在添加文件夹内,进入mod init添加
在求和文件夹中,进行构建
另外,请安装附加内容
在第3步中,我收到一个错误“ addition.go:5:2:软件包汇总不在GOROOT中(c:\ go \ src \ summing)”
这是我第一次尝试编程。
我可以成功地遵循here中列出的步骤,但是当我尝试遵循相同的步骤时,会看到上面提到的错误。
我是否总是需要具有somethng.com/else形式的模块名称?
答案 0 :(得分:2)
您可以从module FAQ
中看到模块是否可以与相对导入(例如导入“ ./subdir”)一起使用?
不。请参阅#26645,其中包括:
在模块中,终于有了子目录的名称。
如果父目录显示为“module m
”,则子目录将导入为“m/subdir
” ,而不再是“./subdir
”。
因此,如前所述,请使用“ addition/summing
”(带有exported method name)从main
进行导入。