【问题标题】:What do three dots "./..." mean in Go command line invocations?Go 命令行调用中的三个点“./...”是什么意思?
【发布时间】:2015-03-17 20:53:03
【问题描述】:

如果你在 Travis CI 上运行 Golang 测试,它将download all of your dependencies with three dots:

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

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

【问题讨论】:

    标签: go


    【解决方案1】:

    来自命令go help packages

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

    【讨论】:

    • 所以它类似于一些shell实现的**通配符。
    • 在概念上肯定类似于**,但很酷的部分是它只是与go 相关的文件,并且它在平台和shell 之间的工作方式相同。我对 Go 很陌生,这让我很高兴 ^__^
    【解决方案2】:
    go [command] ./...
    

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

    例如:

    go list ...
    

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

    【讨论】:

      猜你喜欢
      • 2016-05-08
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 2017-06-26
      • 1970-01-01
      • 2021-11-19
      • 2012-09-06
      相关资源
      最近更新 更多