خطأ "go: go.mod file not found" عند محاولة تشغيل برنامج Go
مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة. قمت بتثبيت Go على Linux (Ubuntu)، وكتبت برنامجًا بسيطًا "Hello, World!" في ملف main.go:
```go
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
```
عندما أحاول تشغيله بالأمر `go run main.go`، أحصل على الخطأ:
```
go: go.mod file not found in current directory or any parent directory; see 'go help modules'
```
قرأت أنه بدءًا من Go 1.16، يتم تمكين الوحدات (modules) افتراضيًا، لكنني لا أفهم ما يعنيه ذلك. هل أحتاج إلى إنشاء ملف go.mod؟ إذا كان الأمر كذلك، فكيف؟ وما الفائدة منه لمثل هذا البرنامج البسيط؟
كما جربت التشغيل بـ `go run .` — نفس الخطأ. جربت تعيين متغير البيئة GO111MODULE=off — ثم يعمل البرنامج، لكنني سمعت أن هذا نهج خاطئ.
أرجو إرشادي حول كيفية إعداد مشروع Go بشكل صحيح لتجنب هذا الخطأ؟ وما الذي يفعله ملف go.mod بالضبط؟ شكرًا مقدمًا على المساعدة!