จุดสามจุด“ ./…” หมายถึงอะไรในการเรียกใช้บรรทัดคำสั่ง Go?


120

หากคุณเรียกใช้การทดสอบ Golang บน Travis CI มันจะดาวน์โหลดการอ้างอิงทั้งหมดของคุณด้วยจุดสามจุด :

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

อะไร./...บ่งบอกหรือขยายไปที่นั่น? ฉันได้ทำการวิจัยมาบ้างแล้ว แต่ดูเหมือนว่าจะไม่ใช่อนุสัญญา Unix

คำตอบ:


125

จากคำสั่งgo help packages:

เส้นทางการนำเข้าเป็นรูปแบบหากมีสัญลักษณ์แทน "... " อย่างน้อยหนึ่งตัวซึ่งแต่ละอักขระสามารถจับคู่สตริงใดก็ได้รวมทั้งสตริงว่างและสตริงที่มีเครื่องหมายทับ รูปแบบดังกล่าวจะขยายไปยังไดเร็กทอรีแพ็กเกจทั้งหมดที่พบในทรี GOPATH ที่มีชื่อตรงกับรูปแบบ ในกรณีพิเศษ x / ... จะจับคู่ x และไดเรกทอรีย่อยของ x ตัวอย่างเช่น net / ... ขยายเป็นเน็ตและแพ็กเกจในไดเร็กทอรีย่อย


6
มันคล้ายกับ**สัญลักษณ์แทนที่ใช้กับเชลล์
Keith Thompson

6
ฮ่า ๆ คุณตอบคำถามของคุณเอง นั่นคือเควิน
Darth Egregious

1
เดี๋ยวก่อนคุณจะได้รับเครดิตสำหรับตอบคำถามของคุณเองหลังจากโพสต์เพียง 3 นาที ... ? คุณควรใช้เวลาเพิ่มอีก 3 นาทีก่อนโพสต์คำถามของคุณหรือไม่? อืม ... คำตอบมีประโยชน์ก็เลยโหวตต่อไป ;)
Subfuzion

10
หลายครั้งที่ฉันทำเช่นนั้นเพราะฉันค้นหาคำถามเดียวกันในภายหลังและนี่คือที่ที่ง่ายที่สุดในการค้นหาอีกครั้ง
Kevin Burke

8
ฉันคิดว่ามันเป็นเรื่องปกติที่จะตอบคำถามของตัวเองตราบใดที่ข้อมูลนั้นเป็นประโยชน์และแนวทางก็สนับสนุนเรื่องนี้เช่นกัน
David Chen

46
go [command] ./...

ที่นี่./บอกให้เริ่มจากโฟลเดอร์ปัจจุบัน...บอกให้ลงซ้ำ

ตัวอย่างเช่น:

go list ...

ในโฟลเดอร์ใด ๆ จะแสดงรายการแพ็คเกจทั้งหมดรวมถึงแพ็คเกจของไลบรารีมาตรฐานก่อนตามด้วยไลบรารีภายนอกในพื้นที่ทำงาน go ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.