كيفية تنظيم هيكل مشروع متعدد الملفات في Go بشكل صحيح؟
مرحباً بالجميع! بدأت تعلم Go مؤخراً، وواجهت مشكلة في تنظيم مشروع يتكون من عدة ملفات.
لقد كتبت تطبيقاً صغيراً لوحدة التحكم لإدارة المهام (todo list). في ملف واحد main.go وضعت كل الكود: معالجة الإدخال، والمنطق، والعمل مع الملفات. عندما نما المشروع إلى 500 سطر، أصبح من غير المريح جداً التنقل فيه.
حاولت تقسيم الكود إلى عدة ملفات، لكن لم ينجح الأمر. على سبيل المثال، أنشأت مجلد `tasks`، ووضعت فيه ملف `tasks.go` مع دوال للعمل مع المهام، وحاولت استدعاءها في `main.go`. لكن المترجم يشتكي من أن الدوال غير معرفة.
إليك مثال على الكود الخاص بي:
```go
// main.go
package main
func main() {
task := CreateTask("شراء حليب") // خطأ: undefined: CreateTask
fmt.Println(task)
}
```
```go
// tasks/tasks.go
package tasks
type Task struct {
Title string
}
func CreateTask(title string) Task {
return Task{Title: title}
}
```
أنا لا