ماذا تعني النقاط الثلاث `./...` في أوامر Go؟
مرحبًا أيها الزملاء! لقد بدأت للتو في تعلم Go ولاحظت أن في التوثيق والدروس التعليمية يظهر كثيرًا البناء `./...` في الأوامر، على سبيل المثال:
```bash
go test ./...
go build ./...
go vet ./...
```
أفهم أن `./` تعني المجلد الحالي، لكن ماذا يفعل `...`؟ حاولت البحث في جوجل لكني وجدت فقط شروحات متفرقة. يبدو لي أن هذا له علاقة بالتنقل التكراري عبر المجلدات، لكني لست متأكدًا.
على سبيل المثال، عندما أكتب `go test ./...`، هل يتم اختبار جميع الحزم في جميع المجلدات الفرعية؟ أم فقط تلك الموجودة مباشرة في المجلد الحالي؟ وإذا أردت اختبار حزمة واحدة محددة فقط، هل يجب إزالة النقاط الثلاث؟
كذلك لاحظت أنه في بعض الأوامر يمكن استخدام `./...` وفي البعض الآخر لا يمكن. على سبيل المثال، الأمر `go run ./...` لا يعمل. لماذا؟ وهل هناك فرق بين `./...` و `./` فقط؟ سأكون ممتنًا جدًا لشرح مفصل مع أمثلة حتى أتمكن أخيرًا من فهم هذا السحر.