Go语言中的"./..."是什么意思?

8

在golang中经常看到./...


例如:go test ./...或者go fmt ./...

只知道一个或两个点的含义


运行 go help importpath 并查找 ./... - Volker
感谢这个指南。 - what is what
3个回答

13

这意味着在目录下执行该操作,包括所有子目录中的软件包。例如,go test ./... 在当前目录和所有子目录上运行 go test。

Go工具文档在此处:

https://golang.org/doc/cmd


这个定义在哪里可以找到?这只适用于Golang命令,而不适用于Bash。 - what is what
在上方添加了一个链接。 - Kenny Grant

2

./... 表示从当前目录(./)开始递归执行操作(...)。


0
一个以./或../开头的导入路径被称为相对路径。工具链支持相对导入路径作为两种方式的快捷方式。
首先,相对路径可以在命令行上使用作为简写。如果你正在工作目录中包含被引用为"unicode"的代码,并且想要运行"unicode/utf8"的测试,你可以输入"go test ./utf8"而不需要指定完整路径。同样,在反向情况下,"go test .."将从"unicode/utf8"目录测试"unicode"。相对模式也是允许的,例如"go test ./..."来测试所有子目录。有关模式语法的详细信息,请参阅'go help packages'。
其次,如果你编译一个不在工作空间中的Go程序,你可以在该程序的导入语句中使用相对路径来引用附近的代码,这样可以方便地在通常的工作空间之外尝试小型多包程序。但是这些程序不能使用"go install"进行安装(没有工作空间可以安装它们),所以它们每次构建时都会重新构建。为避免歧义,Go程序不能在工作空间内使用相对导入路径。

运行 go help importpath 或查看此处的文档 https://pkg.go.dev/cmd/go#hdr-Relative_import_paths


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接