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


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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.