Avatar ·

الاستيراد الدائري في Go: كيفية إصلاح خطأ "import cycle not allowed"

مرحباً بالجميع! أنا مبتدئ في Go وواجهت مشكلة لا أستطيع حلها. أكتب تطبيقاً صغيراً لإدارة المهام (to-do list). لدي حزمتان: `models` و `services`. في حزمة `models` قمت بتعريف الهيكل `Task` والدالة `Validate` التي تتحقق من صحة المهمة. في حزمة `services` أريد تنفيذ منطق إضافة المهمة إلى قاعدة البيانات، وقبل الحفظ أحتاج إلى استدعاء `Validate` من `models`. إليك مثال على الكود: **models/task.go:** ```go package models import "errors" type Task struct { ID int Name string } func Validate(t Task) error { if t.Name == "" { return errors.New("name is required") } return nil } ``` **services/task_service.go:** ```go package services import ( "fmt" "myapp/models" ) func AddTask(name string) error { task := models.Task{Name: name} if err := models.Validate(task); err != nil { return err } fmt.Println("T