Co oznaczają trzy kropki „./…” w wywołaniach wiersza poleceń Go?

Odpowiedzi:

125

Z polecenia go help packages:

Ścieżka importu jest wzorcem, jeśli zawiera jeden lub więcej symboli wieloznacznych „...”, z których każdy może pasować do dowolnego ciągu, w tym pustego ciągu i ciągów zawierających ukośniki. Taki wzorzec rozszerza się na wszystkie katalogi pakietów znalezione w drzewach GOPATH o nazwach pasujących do wzorców. W specjalnym przypadku x / ... dopasowuje x oraz podkatalogi x. Na przykład net / ... rozwija się do net i packages w swoich podkatalogach.

Kevin Burke
źródło
6
Jest więc podobny do **symbolu wieloznacznego zaimplementowanego przez niektóre powłoki.
Keith Thompson
6
LOL, odpowiedziałeś na własne pytanie. To tak Kevin.
Darth Egregious
1
Czekaj, otrzymujesz uznanie za odpowiedzi na własne pytania zaledwie 3 minuty po ich wysłaniu ...? Czy powinieneś poświęcić dodatkowe 3 minuty przed wysłaniem pytania? Hmm ... cóż, odpowiedź była pomocna, więc i tak zagłosowałem za. ;)
Subfuzion
10
Często to robię, ponieważ później szukam tego samego pytania i jest to najłatwiejsze miejsce, aby je znaleźć ponownie.
Kevin Burke
8
Uważam, że odpowiadanie na własne pytania jest całkowicie w porządku, o ile informacje są pomocne , a wytyczne również do tego zachęcają.
David Chen
45
go [command] ./...

Tutaj ./mówi, aby rozpocząć od bieżącego folderu, ...mówi, aby zejść rekurencyjnie.

Na przykład:

go list ...

W dowolnym folderze wyświetla wszystkie pakiety, w tym pakiety biblioteki standardowej, a następnie biblioteki zewnętrzne w obszarze roboczym go.

Emdadul Sawon
źródło