Was bedeuten drei Punkte "./…" in Go-Befehlszeilenaufrufen?

119

Wenn Sie Golang-Tests auf Travis CI ausführen, werden alle Ihre Abhängigkeiten mit drei Punkten heruntergeladen :

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

Was bedeutet ./...oder erweitert sich dort? Ich habe einige Nachforschungen angestellt, aber es scheint keine Unix-Konvention zu sein.

Kevin Burke
quelle

Antworten:

125

Aus dem Befehl go help packages:

Ein Importpfad ist ein Muster, wenn er einen oder mehrere Platzhalter "..." enthält, von denen jeder mit einer beliebigen Zeichenfolge übereinstimmen kann, einschließlich der leeren Zeichenfolge und Zeichenfolgen mit Schrägstrichen. Ein solches Muster wird auf alle Paketverzeichnisse in den GOPATH-Bäumen mit Namen erweitert, die mit den Mustern übereinstimmen. Als Sonderfall stimmt x / ... sowohl mit x als auch mit den Unterverzeichnissen von x überein. Beispielsweise wird net / ... zu net und Paketen in seinen Unterverzeichnissen erweitert.

Kevin Burke
quelle
6
Es ähnelt also dem **Platzhalter, der von einigen Shells implementiert wird.
Keith Thompson
6
LOL du hast deine eigene Frage beantwortet. Das ist so Kevin.
Darth Egregious
1
Warten Sie, Sie erhalten nur 3 Minuten nach dem Posten eine Gutschrift für die Beantwortung Ihrer eigenen Fragen ...? Sollten Sie zusätzliche 3 Minuten gebraucht haben, bevor Sie Ihre Frage gestellt haben? Hmm ... nun, die Antwort war hilfreich, also habe ich trotzdem gestimmt. ;)
Subfuzion
10
Oft mache ich das, weil ich später nach derselben Frage suche und dies der einfachste Ort ist, um sie wieder zu finden.
Kevin Burke
8
Ich denke, es ist vollkommen in Ordnung, die eigenen Fragen zu beantworten, solange die Informationen hilfreich sind , und die Richtlinie ermutigt dies auch.
David Chen
45
go [command] ./...

Hier wird ./angewiesen, vom aktuellen Ordner aus zu beginnen ...und rekursiv nach unten zu gehen.

Beispielsweise:

go list ...

In jedem Ordner werden alle Pakete aufgelistet, einschließlich der Pakete der Standardbibliothek, gefolgt von externen Bibliotheken in Ihrem Go-Arbeitsbereich.

Emdadul Sawon
quelle