草庐IT

可依赖的jar

全部标签

go - 嵌套依赖注入(inject)在 golang 中是否可以接受?

嵌套依赖注入(inject)有什么问题吗?例如:typeParentServicestruct{db*sql.DB}typeUsefulChildStructstruct{attrAintattrBintdb*sql.Db}funcNewParent(db*sql.DB)*ParentService{return&ParentService{db:db}}func(p*ParentService)NewChild()*UsefulChildStruct{return&UsefulChildStruct{db:p.db}}func(c*UsefulChildStruct)DoSometh

unit-testing - 以 http 作为包装函数的依赖项的单元测试

我有以下函数,在@poy的帮助下,我能够为它创建模拟以便对其进行单元测试。现在的问题是我有包装函数也需要测试这是原始函数,已经过测试funchttpReq(cc[]string,methodstring,urlstring)([]byte,error){httpClient:=http.Client{}req,err:=http.NewRequest(method,url,nil)iferr!=nil{returnnil,errors.Wrap(err,"failedtoexecutehttprequest")}//Herewearepassinguserandpasswordreq.

走线,连接依赖项

我正在使用Googlewire在我的一个Go项目中连接依赖项。到目前为止,所有依赖项都已成功连接。我有以下容器:typeContainerstruct{Loggerlogger.StructuredLoggerIDGeneratoridgenerator.IDGeneratorArangoarangodb.Arango}这里StructuredLogger、IDGenerator和Arango是接口(interface)。容器集定义如下:varmockContainerSet=wire.NewSet(Container{},ResolveStructuredLogger,Resolve

go mod vendors 旧版本的依赖

我升级到go1.11并且正在尝试使用go模块。我克隆了一个项目并运行gobuild,它创建了一个包含我所有依赖项的go.mod和go.sum文件。现在我想提供文件,所以我运行命令gomodvendor不幸的是,modvendor使用旧版本的go-bindata.我的项目无法构建,因为函数调用不存在。查看vendoredgo-bindata的源代码,我可以看到它与go-bindata项目的master分支中可用的不同。在我的go.mod文件中有这个:github.com/jteeuwen/go-bindatav3.0.7+incompatible在我的go.sum文件中,有这个:gith

go - 将 Caddy 导入 go 项目依赖项失败

我想将Caddy导入到一个go项目中,但我似乎无法提出最基本的示例。我尝试使用dep或gomod拉取依赖项,但都失败了。dep初始化Noversionsofgolang.org/x/textmetconstraints:v0.3.0:unabletoupdatecheckedoutversion::commandfailed:[gitcheckoutf21a4dfb5e38f5895301dc265a8def02365cc3d0]:exitstatus128v0.2.0:unabletoupdatecheckedoutversion::commandfailed:[gitcheckou

Go mod 下载良好,但 golint 在假设下载的依赖项上失败

在GitlabCI中,我需要指定GITLAB_DEPLOY_TOKEN,因为我有一些私有(private)存储库。这适用于编译步骤。但是当我执行golint时,它会再次下载所有依赖项,并且在私有(private)依赖项上会失败。我可以添加相同的gitconfig指令,图片:golang变量:包路径:/go/src/gitlab.com/company/sam/daemonPACKAGE_API_NAME:registry.gitlab.com/company/sam/daemonREGISTRY_URL:https://registry.gitlab.comDOCKER_DRIVER:

go build 错误 .go/src for go/src 在寻找依赖

我正在尝试安装packagefromgithub.报告的错误显示gobuild在/go/src而不是.go/src中查找源文件(=$GOPATH)。在错误消息中查找/home/er/go/src/。我该如何解决这个问题?~/.go/src/netbackup$echo$GOPATH/home/er/.go~/.go/src/netbackup$goversiongoversiongo1.10.4linux/amd64~/.go/src/netbackup$sudogobuildmain.go:17:2:cannotfindpackage"github.com/marcopaganini

Godoc:将文档限制为项目(不是依赖项)

我正在尝试使用Godoc为项目生成一些基本文档,但每次我这样做时,它也会为所有Go包添加文档。有没有办法控制它并让它只为我的项目代码生成文档?我正在使用:godoc-http=:6060 最佳答案 Isthereawaytocontrolthisandhaveitonlygeneratedocumentationformyprojectcode?没有。 关于Godoc:将文档限制为项目(不是依赖项),我们在StackOverflow上找到一个类似的问题: ht

go - 如何消除 go get 依赖检查?

当我执行goget-ugithub.com/spf13/viper时,它有一个依赖项golang.org/x/sys。它将自动执行cd${GOPATH}/src/golang.org/x/sys;gitpull--ff-only.这真的是多余的没有用。我的网络无法访问golang.org/x/sys。所以我已经使用了github.com/golang/sys并将其放入我的GOPATH/src/golang.org/x。这意味着自动检查(cd${GOPATH}/src/golang.org/x/sys;gitpull--ff-only)fortheprogress(goget-ugith

go - 通用方法和建议如何消除依赖

我有一个关于依赖注入(inject)的问题。请考虑以下示例。例如,selector()是一个选择某些东西并保证返回一个接口(interface)的函数在这个例子中bar.node.gotypeNodeTemplatestruct{Namestring}//satisfyinterfacedeclaredindb.foo.go//butneverimportsanythingfromdb.foo.gofunc(node*NodeTemplate)GetUuidName()string{ifnode!=nil{returnnode.Name}return}db.foo.go//interf