File 是不是&引用;是指所有子文件夹吗?

File 是不是&引用;是指所有子文件夹吗?,file,go,File,Go,我经常在makefile中看到“/…”。我想这意味着它是当前目录中的所有子文件夹。有人能确认一下并提供解释这个语法的来源吗 例如: go generate ./... 导入路径模式/…匹配当前目录下目录中的所有包,但供应商目录中的包除外 模式由go工具实现。make、bash和任何其他可能调用go工具的工具都不会解释该模式 委员会: 如果导入路径包含一个或多个“…”通配符,则导入路径是一种模式,每个通配符都可以匹配任何字符串,包括空字符串和包含斜杠的字符串。这样的模式扩展到GOPATH树中所有

我经常在makefile中看到“/…”。我想这意味着它是当前目录中的所有子文件夹。有人能确认一下并提供解释这个语法的来源吗

例如:

go generate ./...

导入路径模式
/…
匹配当前目录下目录中的所有包,但供应商目录中的包除外

模式由
go
工具实现。make、bash和任何其他可能调用
go
工具的工具都不会解释该模式

委员会:

如果导入路径包含一个或多个“…”通配符,则导入路径是一种模式,每个通配符都可以匹配任何字符串,包括空字符串和包含斜杠的字符串。这样的模式扩展到GOPATH树中所有名称与模式匹配的包目录

为了使普通模式更方便,有两种特殊情况。首先,/。。。在模式的末尾可以匹配一个空字符串,这样net/。。。匹配net及其子目录中的包,如net/http。其次,任何包含通配符的斜杠分隔模式元素都不会参与供应商包路径中“vendor”元素的匹配,因此。/。。。与./vendor或./mycode/vendor的子目录中的包不匹配,但与./vendor/。。。和./mycode/vendor/。。。做但是,请注意,本身包含代码的名为vendor的目录不是vendor包:cmd/vendor将是名为vendor的命令,模式cmd/。。。与之匹配。有关供应商的更多信息,请参见golang.org/s/go15vendor

它:

以./或../开头的导入路径称为相对路径。工具链以两种方式支持相对导入路径作为快捷方式

首先,相对路径可以用作命令行上的简写。如果您在包含作为“unicode”导入的代码的目录中工作,并且希望运行“unicode/utf8”的测试,则可以键入“go test./utf8”,而无需指定完整路径。类似地,在相反的情况下,“go test..”将从“unicode/utf8”目录测试“unicode”。还允许使用相对模式,如“go test./…”来测试所有子目录。有关模式语法的详细信息,请参阅“go help packages”

其次,如果您正在编译一个不在工作空间中的Go程序,则可以在该程序的import语句中使用相对路径来引用附近也不在工作空间中的代码。这使得在通常的工作空间之外试验小型多包程序变得很容易,但是这种程序不能用“go install”安装(没有安装它们的工作空间),因此每次构建它们时都会从头开始重新构建。为避免歧义,Go程序不能在工作空间内使用相对导入路径


导入路径模式
/…
匹配当前目录下目录中的所有包,但供应商目录中的包除外

模式由
go
工具实现。make、bash和任何其他可能调用
go
工具的工具都不会解释该模式

委员会:

如果导入路径包含一个或多个“…”通配符,则导入路径是一种模式,每个通配符都可以匹配任何字符串,包括空字符串和包含斜杠的字符串。这样的模式扩展到GOPATH树中所有名称与模式匹配的包目录

为了使普通模式更方便,有两种特殊情况。首先,/。。。在模式的末尾可以匹配一个空字符串,这样net/。。。匹配net及其子目录中的包,如net/http。其次,任何包含通配符的斜杠分隔模式元素都不会参与供应商包路径中“vendor”元素的匹配,因此。/。。。与./vendor或./mycode/vendor的子目录中的包不匹配,但与./vendor/。。。和./mycode/vendor/。。。做但是,请注意,本身包含代码的名为vendor的目录不是vendor包:cmd/vendor将是名为vendor的命令,模式cmd/。。。与之匹配。有关供应商的更多信息,请参见golang.org/s/go15vendor

它:

以./或../开头的导入路径称为相对路径。工具链以两种方式支持相对导入路径作为快捷方式

首先,相对路径可以用作命令行上的简写。如果您在包含作为“unicode”导入的代码的目录中工作,并且希望运行“unicode/utf8”的测试,则可以键入“go test./utf8”,而无需指定完整路径。类似地,在相反的情况下,“go test..”将从“unicode/utf8”目录测试“unicode”。还允许使用相对模式,如“go test./…”来测试所有子目录。有关模式语法的详细信息,请参阅“go help packages”

其次,如果您正在编译一个不在工作空间中的Go程序,则可以在该程序的import语句中使用相对路径来引用附近也不在工作空间中的代码。这使得在通常的工作空间之外试验小型多包程序变得很容易,但是这种程序不能用“go install”安装(没有安装它们的工作空间),因此每次构建它们时都会从头开始重新构建。为避免歧义,Go程序不能在工作空间内使用相对导入路径


你能用
/…
向我提供makefile的源代码吗?Makefiles不是bash--不同的语言,不同的语法,不同的标记。你能用
/…
向我提供makefile的源代码吗?Makefiles不是bash--不同的语言,不同的语法,不同的标记。@SteveHe,我要强调的是,
go-build
go-install
(和
go-test
)调用在go包而不是文件上工作(与
go-run
相反)。因此,特殊的构造
{path}/..
意味着“所有包”