我有这样的目录布局:
/baba
biz.go # package baba
/hello
foo.go # package main
biz.go看起来像这样:
package baba
func Foodd(z int) int {
return z + 5
}
foo.go看起来像这样:
package main
import (
"fmt"
"log"
)
func main() {
log.Fatal(Foodd(3))
}
目前这不能编译,因为Foodd
不被识别。如何在foo.go
中导入baba
包
我假设如果我这样编译,它会拉入正确的文件:
go build foo.go
或者,我是否需要在go build
命令中包含baba包中的文件?(我希望不是)。
发布于 2018-04-11 05:05:34
您需要导入baba
包才能从主包中使用它。它看起来像这样:
package main
import (
"fmt"
"log"
"github.com/the1mills/myproject/baba"
)
func main() {
log.Fatal(baba.Foodd(3))
}
导入的包由它们的包名引用,包名通常是导入路径的最后一个元素。
通常,人们让goimports处理查找正确的导入路径并自动添加它。您选择的编辑器可能集成了goimports
。
另请参阅this answer,了解其他一些参考以及如何设置目录结构。
https://stackoverflow.com/questions/49762727
复制相似问题