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

如果你在Travis CI上运行Golangtesting,它会用三个点下载你所有的依赖关系 :

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

什么./...表示或扩展到那里? 我已经做了一些研究,但似乎并不是Unix惯例。

从命令go help packages

一个导入path是一个模式,如果它包含一个或多个“…”通配符,每个可以匹配任何string,包括空string和包含斜杠的string。 这种模式扩展到所有在GOPATH树中find的名称与模式匹配的包目录。 作为特例,x / …匹配x以及x的子目录。 例如,net / …扩展到networking,并在其子目录中打包。

 go [command] ./... 

这里./告诉从当前文件夹开始, ...告诉recursion下去。

例如:

 go list ... 

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