“ ./...”在 Go 命令行调用中是什么意思?

如果你对 Travis CI 进行 Golang 测试,结果会是 用三个点下载所有依赖项:

go get -d -v ./... && go build -v ./...

./...表示或扩展到哪里?我做了一些研究,但它似乎不是一个 Unix 约定。

43196 次浏览

从命令 go help packages:

如果导入路径包含一个或多个“ ...”通配符,则该路径为模式, 每个字符串都可以匹配任何字符串,包括空字符串和 包含斜杠的字符串。这样的模式扩展到所有包 在 GOPATH 树中找到的名称与 作为一个特例,x/... 与 x 以及 x 的子目录相匹配。 例如,net/... 扩展到其子目录中的 net 和包。

go [command] ./...

这里 ./告诉从当前文件夹开始,...告诉递归下行。

例如:

go list ...

在任何文件夹中都列出了所有的包,包括标准库的包,然后是工作区中的外部库。