Avatar ·

كيفية استيراد الحزم المحلية في Go بدون GOPATH (وحدات Go)

مرحبًا! بدأت تعلم Go وواجهت مشكلة في استيراد الحزم المحلية. أنا معتاد على العمل مع لغات أخرى حيث يمكنني ببساطة إنشاء ملفات في مجلد واحد واستيرادها. لكن في Go، الأمر أكثر تعقيدًا. لدي هيكل المشروع التالي: ``` myproject/ ├── main.go └── utils/ └── helper.go ``` في `helper.go`، قمت بتعريف دالة `Hello()`: ```go package utils func Hello() string { return "مرحبًا من utils!" } ``` في `main.go`، أحاول استيراد هذه الحزمة: ```go package main import ( "fmt" "myproject/utils" ) func main() { fmt.Println(utils.Hello()) } ``` ولكن عند تشغيل `go run main.go`، أحصل على خطأ: `package myproject/utils is not in GOROOT (/usr/local/go/src/myproject/utils)`. قرأت أنه في السابق كان يجب إعداد GOPATH، لكنني سمعت أن في الإصدارات الجديدة من Go هناك شيء يسمى "وحدات". كيف يمكنني استيراد الحزم المحلية بشكل صحيح بدون GOPATH؟ اشرح لي، من فضلك، للمبتدئين، خطوة بخطوة.