问题标签 [go-packages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
481 浏览

go - 从单独的包/文件夹导入代码

我有这个目录布局:

biz.go 看起来像这样:

和 foo.go 看起来像这样:

目前这无法编译,因为Foodd无法识别。如何将baba包导入foo.go

我假设如果我这样编译,它将引入正确的文件:

还是我需要在go build命令中包含 baba 包中的文件?(我希望不会)。

0 投票
1 回答
471 浏览

go - os.Read() 是怎么工作的?戈朗

为什么如果我 print bs,在调用之前Read(),它什么也不打印,但是在调用之后file.Read(bs),它显示了 test.txt 文件的内部。除非bs只是论据,怎么Read()可能改变呢?

输出:

0 投票
1 回答
487 浏览

unit-testing - 如何在 GOLANG 中获取多个文件的覆盖率

我在 GO-LANG 中有一个包,它有几个实现它的文件。(所有文件都在同一个目录中)

我这样做是为了获得报道:

在此处输入图像描述 在此处输入图像描述

当我打开 html 时,我只得到 f1() 的覆盖范围。
f2 被调用(我在调试中验证了它),并且 f2 的运行在文本中表示,但不在 html 文件中。

任何帮助表示赞赏。

0 投票
1 回答
79 浏览

go - 使用 Go 模块时如何签入包?

我们目前govendor用于管理我们go存储库中的包。由于我们使用了很多包,我们决定将包源代码签入vendor文件夹,以便:

  • 每次需要在构建机器中构建存储库时,节省下载所有包的时间。
  • 避免一个包在网上不可用(被删除、网络问题等)的可能性

我有兴趣modules使用v1.11. 但是,我似乎找不到类似的方法来检查包,而不必下载所有包。

有任何想法吗?

0 投票
1 回答
340 浏览

go - 找不到嵌套包

我有一个具有以下结构的项目:

将 $GOPATH 设置/home/dev/dev/go 为此是如何server.go命名它的包和导入:

这是services.go

这是exch.go

现在,server.go进口package services正常,但services.go找不到package exch. 我尝试以多种方式更改导入路径,但无法使其正常工作。我错过了什么吗?

知道 /myapp 位于此处可能很有用:/home/dev/dev/go/src

0 投票
2 回答
45308 浏览

go - 使用 Go 模块在包中组织本地代码

main.go$GOPATH. _

我没有导入任何需要包含的外部依赖go.mod项,我只是想在本地组织这个 Go 模块的源代码。

文件main.go

该文件./stuff/bar.go(假装是本地包):

文件go.mod(命令go mod init foo):

执行时go run main.go

  • 如果我import "./stuff",那么我看到了build command-line-arguments: cannot find module for path _/home/<PATH_TO>/fooprj/stuff
  • 如果我import "stuff",那么我看到了build command-line-arguments: cannot load stuff: cannot find module providing package stuff
  • 如果我import stuff "./stuff"使用包别名,那么我会再次看到:build command-line-arguments: cannot find module for path _/home/<PATH_TO>/fooprj/stuff.

我找不到使本地包与 go 模块一起使用的方法。

  • 上面的代码有什么问题?
  • 如何将本地包导入到使用 Go 模块(文件go.mod)定义的项目中的其他 Go 代码中?
0 投票
1 回答
40 浏览

go - 从包导入路径获取包源的完整路径

目前我有一个像str := "github.com/pkg/errors". 我需要包的完整路径。

目前我如何实现这一点是通过使用build.Default.GOPATH+"/src/"+str.

是否有一种本地非 hacky 方法来解析导入的完整路径(可能在vendor文件夹等中......)。

0 投票
3 回答
13020 浏览

go - 我可以列出所有标准的 Go 包吗?

Go 中有没有办法列出所有标准/内置包(即,随 Go 安装一起安装的包)?

我有一个包列表,我想弄清楚哪些包是标准的。

0 投票
0 回答
1022 浏览

go - Vgo build 触发“未知指令:go”?

任何 vgo 命令在解析 go.mod 文件时都会显示相同的错误。 unknown directive: go

这是我的 go.mod 文件:

我正在使用 go1.13beta1版本。

0 投票
2 回答
155 浏览

go - 有没有更简单的方法来更新本地 Go 包

我正在使用导入到不同项目中的多个包,这些包包括用于我的业务逻辑的自定义适配器,这些适配器由 lambda 和谷歌云函数以及其他公共包共享。我现在这样做的方式是供应它们并将它们包含在云功能中。对于可以在 VM 上编译和部署的应用程序,我将它们分别编译。这对我来说很好,但是,开发这些模块很痛苦。

如果我更新包中的方法签名和名称,我必须将我的更改推送到 github/gitlab(我的包路径类似于 gitlab.com/groupName/projectName/pkg/packageName),然后执行go get -u <pacakgeName>更新包。

这也并没有真正更新它,有时会被旧版本卡住,不知道如何更新它。我想知道有没有更简单的方法来处理这个问题。


为了清楚起见:

导出的包1路径:gitlab.com/some/name/group/pkg/clients/psql

应用1使用psql-client 路径:gitlab.com/some/name/app1

应用 2 使用 psql-client 路径:gitlab.com/some/name/app2