Подтвердить что ты не робот

Что означают три точки "./..." в вызовах командной строки Go?

Если вы запускаете тесты Golang на Travis CI, он будет загружать все ваши зависимости с тремя точками:

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

Что означает ./... для указания или расширения? Я провел некоторое исследование, но, похоже, это не соглашение Unix.

4b9b3361

Ответ 1

Из команды go help packages:

Путь импорта - это шаблон, если он содержит одну или несколько подстановочных знаков "...", каждая из которых может соответствовать любой строке, включая пустую строку и строки, содержащие косые черты. Такой шаблон расширяется для всех пакетов каталоги, найденные в деревьях GOPATH с именами, соответствующими узоры. В качестве специального случая x/... соответствует x, а также x подкаталогам. Например, net/... расширяет сеть и пакеты в своих подкаталогах.

Ответ 2

go [command] ./...

Здесь ./ говорит, чтобы начать с текущей папки, ... говорит, чтобы перейти рекурсивно.

Пример:

go list ...

В любой папке перечислены все пакеты, включая пакеты стандартной библиотеки, а затем внешние библиотеки в рабочей области go.