2015-01-19 3 views
43

Если запустить Golang тесты на Travis CI, это будет download all of your dependencies with three dots:Что означает три точки «./...» в вызовах командной строки Go?

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

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

ответ

53

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

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

+1

Таким образом, он похож на '**' шаблон, реализованный некоторыми оболочками. –

+3

LOL вы ответили на свой вопрос. Это так Кевин. – Fuser97381

+0

Подождите, вы получите кредит на ответы на свои вопросы всего за 3 минуты после публикации их ...? Должны ли вы принять дополнительные 3 минуты, прежде чем отправлять свой вопрос? Хм ... ну, ответ был полезен, поэтому я все равно поддерживал. ;) – Subfuzion

11
go [command] ./... 

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

Для примера:

go list ... 

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

Смежные вопросы