我对go的新模块系统有问题,因为我想定义一个本地模块并将其导入主程序.本地包位于主包/根文件夹的文件夹中.想象一下在$GOPATH
之外的项目 struct .
项目 struct
./main.go
package main
import "fmt"
import "example.com/localModule/model"
func main() {
var p = model.Person{name: "Dieter", age:25}
fmt.Printf("Hello %s\n", p.name)
}
/模特/人.go
package model
type Person struct {
name string
age int
}
在根文件夹中,我通过调用
go mod init example.com/localModule
在model/
文件夹中,我通过调用
go mod init example.com/localModule/model
这个错误
在根文件夹中调用以下命令失败.
$ go get
go build example.com/localModule/model: no Go files in
$ go build
main.go:4:8: unknown import path "example.com/localModule/model": cannot find module providing package example.com/localModule/model
Go Get的错误消息被切断,我不会错误地解析它.
我不打算将模块推送到服务器上,只是需要一种引用本地包model
的方式,所以我分别 Select 了example.com/localModule/
和example.com/localModule/model
.
我在一台运行MacOS10.13.6的Macbook上使用go1.11 darwin/amd64
.