Avatar ·

كيفية استدعاء دالة من ملف آخر في Go: هيكل المشروع والاستيراد

```html مرحبًا أيها الزملاء! لقد بدأت للتو في تعلم Go وواجهت مشكلة تبدو لي بسيطة جدًا، لكنني لا أستطيع إيجاد الحل الصحيح. لدي ملفان في نفس المشروع: `main.go` و `helpers.go`. في `helpers.go` قمت بتعريف الدالة `sayHello()` التي تطبع تحية. في `main.go` أحاول استدعاء هذه الدالة، لكن المترجم يشتكي من أن الدالة غير معرفة. إليك هيكل المجلد الخاص بي: ``` myproject/ ├── main.go └── helpers.go ``` كود `helpers.go`: ```go package main import "fmt" func sayHello() { fmt.Println("Hello from helpers!") } ``` كود `main.go`: ```go package main func main() { sayHello() } ``` عندما أقوم بتشغيل `go run main.go`، أحصل على الخطأ: `undefined: sayHello`. أما إذا قمت بتشغيل `go run main.go helpers.go`، فكل شيء يعمل. لكن قيل لي أنه في لغة Go ليست هناك حاجة لتحديد جميع الملفات صراحةً عند التشغيل. ما الخطأ الذي أفعله؟ هل المشكلة أنني أستخدم هيكل حزم غير صحيح؟ هل أحتاج إلى إنشاء ```