我已使用以下命令“ go mod init database”在“数据库”文件夹中的“ GOPATH”之外创建了个人使用的模块库,但我不知道:
操作系统: Windows 7 ,Go: v1.11
最简单,database
可行的现成解决方案是将您的包/模块放入VCS(例如github.com),因此其他包(在其他模块内部)可以通过导入来简单地引用它:
import "github.com/someone/database"
如果这样做,您甚至不必go.mod
手动摆弄文件,go工具将处理所有事情:它将自动识别并解决此依赖关系,下载并安装所需的软件包,并且还将go.mod
自动更新。
如果您不想使用VCS(例如,您只是在试验,或者尚未决定使用什么),那么仍然可以使用。该 如何
在官方详细的我能完全工作外VCS在我的本地文件系统中:转到维基?
因此,您在database
之外创建了一个文件夹GOPATH
,并在其中创建了一个模块。然后,您创建了另一个模块,我们称之为main
,并且您想使用此database
包。
您必须做的是:
go.mod
您的main
模块必须将database
软件包列为“要求”。为您的database
包裹指定一个临时的VCS名称:
require (
example.com/me/database v0.0.0
)
您必须告诉go工具此软件包的位置,因为我们使用的完整软件包名称只是一个临时名称/幻想名称。使用replace
指令使该database
程序包指向本地磁盘上的文件夹。您可以使用绝对路径和相对路径:
replace example.com/me/database => ../database
就这样。
让我们看一个可行的例子。让我们创建一个pretty
模块。创建一个pretty
包含2个文件的文件夹:
pretty.go:
package pretty
import "fmt"
func Pretty(v ...interface{}) {
fmt.Println(v...)
}
go.mod (可以通过运行来创建go mod init pretty
):
module pretty
现在让我们创建另一个主模块。让我们在文件夹osinf
旁边创建一个文件夹(可能是任何pretty
文件夹)。其中2个文件:
osinf.go (注意,我们打算使用我们的pretty
包/模块,我们通过导入"example.com/me/pretty"
):
package main
import "example.com/me/pretty"
func main() {
pretty.Pretty("hi")
pretty.Pretty([]int{1, 3, 5})
}
go.mod:
module main
require example.com/me/pretty v0.0.0
replace example.com/me/pretty => ../pretty
就这样。
go run osinf.go
在osinf
文件夹中运行,输出为:
hi
[1 3 5]
问题内容: 假设我有一个名为的软件包,其中包含: 和: 然后我执行以下脚本: 这是我的期望: 这是我得到的: 谁能解释我的误解? 问题答案: 您正在使用。在导入模块的全局范围(或发生import语句的任何范围)中成为符号。 当您为指定新值时,您也只是在更改哪些值点,而不是实际值。尝试直接使用in导入,并通过设置在那里进行实验。这样,您实际上将在此上下文中修改哪个是“实际”值。 它有点令人费解,
问题内容: 我试图使用Dagger在正在构建的应用程序上进行依赖注入,当我拥有一个程序包的模块(取决于注入器(可能是另一个模块)提供的值)时,在构造适当的DAG时遇到了麻烦。 如果我有一个用于配置变量的简单模块(例如,我可能想换成测试环境) 而另一个模块依赖于它,例如 我尝试在构造函数中引导注入的行失败,并且它抱怨我没有在适当的模块中指定显式行。 通过反复试验,我发现如果在行中添加,这种情况就消失
问题内容: 在我的angularJS应用程序中,我有两个模块:模块A和模块B。 如何在模块B中调用该函数? 问题答案: 您需要在 模块A中 定义一个工厂: 然后使用 模块B中* 的工厂: *
问题内容: 我已经定义了一个模块,并使用ng- app指令将其设置为我的应用程序的主要模块。我使用angular.module(’myApp’)。controller()向主应用程序添加了两个控制器。这些控制器中的一个具有页面范围的范围,而另一个控制器是子控制器。 我现在想做的是包含一个控制器,该控制器属于另一个模块(不是主要的myApp模块),但我无法弄清楚。我不想全局命名空间控制器。 有人知道
我使用架构和堆栈。 对于服务之间的通信,我决定使用。 我有一个名为的服务,今天我实现了一个项目,并将其添加到存储库中。 我添加了到服务使用使用以下命令: 现在我想在中创建一个服务类,