Apa arti tiga titik “./…” dalam pemanggilan baris perintah Go?

120

Jika Anda menjalankan tes Golang pada Travis CI, itu akan mengunduh semua dependensi Anda dengan tiga titik :

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

Apa yang ./...menunjukkan atau memperluas ke sana? Saya telah melakukan beberapa penelitian tetapi tampaknya itu bukan konvensi Unix.

Kevin Burke
sumber

Jawaban:

125

Dari perintah go help packages:

Jalur impor adalah pola jika menyertakan satu atau beberapa karakter pengganti "...", yang masing-masing dapat cocok dengan string apa pun, termasuk string kosong dan string yang berisi garis miring. Pola seperti itu meluas ke semua direktori paket yang ditemukan di pohon GOPATH dengan nama yang cocok dengan pola tersebut. Sebagai kasus khusus, x / ... cocok dengan x serta subdirektori x. Misalnya, net / ... diperluas ke net dan paket di subdirektorinya.

Kevin Burke
sumber
6
Jadi ini mirip dengan karakter **pengganti yang diterapkan oleh beberapa shell.
Keith Thompson
6
LOL Anda menjawab pertanyaan Anda sendiri. Begitu Kevin.
Darth Egregious
1
Tunggu, Anda mendapat kredit karena menjawab pertanyaan Anda sendiri hanya 3 menit setelah mempostingnya ...? Haruskah Anda meluangkan waktu 3 menit lagi sebelum memposting pertanyaan? Hmm ... yah, jawabannya sangat membantu jadi saya tetap memberikan suara positif. ;)
Subfuzion
10
Seringkali saya melakukan itu karena saya akhirnya mencari pertanyaan yang sama nanti dan ini adalah tempat termudah untuk menemukannya lagi.
Kevin Burke
8
Saya pikir tidak apa-apa untuk menjawab pertanyaan sendiri selama informasinya membantu , dan pedoman juga mendorong hal ini.
David Chen
45
go [command] ./...

Di sini ./memberitahu untuk mulai dari folder saat ini, ...memberitahu untuk turun secara rekursif.

Sebagai contoh:

go list ...

Di folder mana saja, daftarkan semua paket, termasuk paket pustaka standar yang pertama diikuti oleh pustaka eksternal di ruang kerja go Anda.

Emdadul Sawon
sumber