ما هي الحزمة؟
جزء من قسم Logic & Flow في رحلة GO على Coddy — الدرس 51 من 68.
تعد الـ حزمة (package) في لغة Go وسيلة لتنظيم وتجميع الأكواد البرمجية ذات الصلة معاً. فكر فيها كمجلد يحتوي على الدوال (functions)، والمتغيرات (variables)، والأنواع (types) التي تعمل معاً لتحقيق غرض معين.
يجب أن ينتمي كل ملف Go إلى حزمة، يتم التصريح عنها في الجزء العلوي تماماً باستخدام الكلمة المفتاحية package. أهم حزمة ستواجهها هي package main، وهي حزمة خاصة لأنها تخبر Go أن هذا برنامج قابل للتنفيذ مع دالة main كنقطة دخول.
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}لاستخدام كود من حزم أخرى، تحتاج إلى import لها. في المثال أعلاه، نقوم باستيراد حزمة fmt، التي توفر وظائف التنسيق والطباعة. تعد حزمة fmt جزءًا من مكتبة Go القياسية وتأتي مدمجة مع اللغة.
تخدم الحزم غرضين رئيسيين: فهي تساعد في تنظيم الكود الخاص بك في مجموعات منطقية وتسمح لك بإعادة استخدام الكود عبر برامج مختلفة. وهذا يجعل برامجك أكثر قابلية للصيانة ويمنعك من كتابة نفس الكود عدة مرات.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
ورقة مرجعية
تُنظم الـ package (الحزمة) في لغة Go الأكواد البرمجية ذات الصلة وتجمعها معاً. يجب أن يعلن كل ملف Go عن حزمة في بدايته باستخدام الكلمة المفتاحية package.
تعتبر package main حزمة خاصة - فهي تنشئ برنامجاً قابلاً للتنفيذ مع دالة main كنقطة دخول للبرنامج:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}استخدم import لتضمين أكواد من حزم أخرى. توفر حزمة fmt وظائف التنسيق والطباعة وهي جزء من مكتبة Go القياسية.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1تدفق التحكم المتقدم
جملة Switch مع `fallthrough`الخروج من الحلقات المتداخلةالاستمرار في حلقة محددةجملة `goto`ملخص - التحكم المتقدم في الحلقات2الـ Structs والميثودز (Methods)
تعريف الـ Methods على الـ Structsالـ Value Receiversالـ Pointer Receiversاختيار الـ Receiversالـ Methods مقابل الـ Functionsملخص - سلوك الـ Struct5تعمق في الـ Maps
Maps من نوع Structsالـ Pointers كقيم في الـ Mapsالتحقق من الـ Nil Mapsمقارنة الـ Mapsمراجعة - عداد تكرار الكلمات3الواجهات (الأساسيات)
ما هي الواجهة؟تعريف الواجهةتطبيق الواجهةاستخدام أنواع الواجهاتالواجهة الفارغةتأكيدات النوع (Type Assertions)تبديل النوع (Type Switch)ملخص - الأشكال والسلوكيات