كيفية استيراد الحزم المحلية بشكل صحيح في Go (Golang) — دليل خطوة بخطوة
مرحبًا بالجميع! لقد بدأت مؤخرًا في تعلم Go وواجهت مشكلة تحيرني تمامًا. أحاول تنظيم الكود في عدة ملفات داخل مشروع واحد، لكن استيراد الحزم المحلية لا يعمل.
إليك هيكل مشروعي:
```
myproject/
├── main.go
└── helpers/
└── math.go
```
في ملف `helpers/math.go`، أعلنت عن package `package helpers` ودالة `Add(a, b int) int`.
في `main.go`، أحاول استيراد هذه الحزمة:
```go
package main
import (
"fmt"
"myproject/helpers" // جربت مسارات مختلفة
)
func main() {
result := helpers.Add(2, 3)
fmt.Println(result)
}
```
لكن عندما أشغل `go run main.go`، أحصل على خطأ:
```
main.go:4:2: package myproject/helpers is not in GOROOT (/usr/local/go/src/myproject/helpers)
```
لقد جربت خيارات مسار مختلفة: `./helpers`، `../helpers`، `helpers` — ولم يساعد شيء. سمعت شيئًا عن modules، لكنني لا أفهم كيفية إعدادها بشكل صحيح. أرشدوني إلى الطريقة الصحيحة.