Avatar ·

كيفية تشغيل مشروع Go مع عدة ملفات في حزمة main واحدة؟

مرحبًا! لقد بدأت للتو في تعلم Go وواجهت مشكلة. لدي مشروع صغير يتكون من عدة ملفات، جميعها موجودة في مجلد `cmd` ومُعلنة كـ `package main`. إليك الهيكل: ``` myproject/ cmd/ main.go helpers.go config.go ``` في `main.go`، أستدعي دوال من `helpers.go`، على سبيل المثال: ```go // main.go package main func main() { msg := getMessage() fmt.Println(msg) } ``` ```go // helpers.go package main func getMessage() string { return "Hello from helpers!" } ``` عندما أحاول تشغيل المشروع باستخدام الأمر `go run cmd/main.go`، أحصل على خطأ: ``` # command-line-arguments ./main.go:6:14: undefined: getMessage ``` أفهم أن Go يرى ملفًا واحدًا فقط. كيف يمكنني تشغيل المشروع بشكل صحيح بحيث يتم تجميع جميع الملفات في حزمة main معًا؟ هل يجب استخدام `go build` أم هناك طريقة أخرى؟ كما أنني مهتم بمعرفة ما إذا كان وجود العديد من الملفات ممارسة طبيعية في Go؟