前面介绍了下同个package下怎么进行多文件开发(「go」 项目多个文件编程 ) 这里介绍下多个package 的情况下如何开发。网上有不少介绍的都是go 在1.11 之前如何进行开发,基本上都会告诉你把文件放到GOPATH下进行,这边说明下如何使用go mod 辅助多package 同时开发
sample 如下
项目mymath 目录下是package mymath, go.mod文件没啥关系,重点是add.go文件, 这个文件实现了func Add, 这个函数会被项目根目录下的main.go调用,因为是不同的package间的调用,所以这边Add的首字母大写,进行函数导出
下面的根目录下面是main.go, 属于main package,代码如下,他调用了mymath 下的Add 函数
按照其他的语言像java, 这样的调用已经ok了,但是 go 不行,他找不到mymath这个package
我们需要修改项目根目录下的go.mod文件,添加下main对mymath的依赖和对mymath的本地的查找路径,具体代码如下
然后我们就可以go run main.go了
关于go mod的细节可以参照: https://github.com/golang/go/wiki/Modules