从Go中的main导入本地包

hn

我正在使用Go及其net/httpstdlib模块编写API,并且在名为utils的目录中有一些utils代码。但是当我将它们导入main时,Go找不到软件包。根本原因显然是必须将Go软件包保存在其中$GOPATH/src/所以我想知道是否可以导入本地软件包并将其保存在与主软件包相同的文件夹中。

我遵循的是Github目录结构,所以我的$ GOPATH像这样。

$GOPATH/src/
   |___github.com/
       |___user/
           |___repository/
               |___main.go
               |___utils/
                   |___core.go
                   |___factory.go

由于utils目录确实与该应用程序绑定,因此将其另存为$ GOPATH / src中的另一个Go应用程序对我来说真的很不好。除此之外,想象一下我想在Github上推送代码的时刻。在这里,它只有2个存储库,但如果是6个,我将需要6个私有存储库来存储单个应用程序中真正相关和绑定的部分。

miltonb:

(将答案一目了然地记录下来)

package两个文件上声明均应为package utils,并且应使用以下命令导入:

import "github.com/user/repository/utils"

如果您确实希望将每个代码文件作为单独的包分开,也可以制作子包(标准库io包具有io/ioutil)。

import "github.com/user/repository/utils"
import "github.com/user/repository/utils/sub"

本地目录结构为:

$GOPATH/src/
   |___github.com/
       |___user/
           |___repository/
               |___main.go
               |___utils/
                   |___core.go
                   |___sub/factory.go

(答案详细信息由@phndiaye发表在评论中)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章