ال

الحزم في Go

1 تمرين

نبذة عن الحزم

في Go، يُنظَّم التطبيق في حزم. الحزمة مجموعة من ملفات المصدر الموجودة في المجلد نفسه. ويجب أن تحمل جميع ملفات المصدر في المجلد اسم الحزمة نفسه في أعلى الملف. وبحسب العُرف، تُسمّى الحزم باسم المجلد الذي توجد فيه.

package greeting

توفّر Go مكتبة قياسية واسعة من الحزم يمكنك استخدامها في برنامجك عبر الكلمة المفتاحية import. وتُستورد حزم المكتبة القياسية باستخدام اسمها.

package greeting

import "fmt"

ويمكن استيراد عدة حزم دفعة واحدة بوضعها بين الأقواس الهلالية.

package greeting

import (
    "errors"
    "fmt"
)

أما حزم الطرف الثالث فتُستورد باستخدام رابط موقع الحزمة. ويمكن إعطاء الحزمة اسمًا مستعارًا عند استيرادها. ويفيد ذلك في تجنّب تعارض أسماء الحزم:

package greeting

import (
	"errors"

	errs "github.com/pkg/errors"
)

ثم يُشار إلى الحزمة المستوردة باسم الحزمة أو باسمها المستعار:

// using the internal errors package
errors.New("Connection not established")

// using the errors package located at github.com/pkg/errors by alias
errs.New("Connection not established")

تحدّد Go إمكانية استدعاء عنصر ما من كود في حزم أخرى بناءً على طريقة تعريفه. ولجعل دالة أو نوع أو متغير أو ثابت مرئيًا خارجيًا (وهو ما يُعرف باسم exported) يجب أن يبدأ الاسم بحرف كبير. وهذا مشابه لكيفية استخدام لغات برمجة أخرى مثل Java لمحدّدات الوصول مثل public وprivate.

package greeting

// Hello is a public function (callable from other packages).
func Hello(name string) string {
    return "Hello " + name
}

// hello is a private function (not callable from other packages).
func hello(name string) string {
    return "Hello " + name
}

وينطبق الأمر نفسه على أسماء الحقول في أنواع struct المخصّصة: فأسماء الحقول التي تبدأ بحرف كبير تكون مرئية خارجيًا، أما التي تبدأ بحرف صغير فلا.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم الحزم

التدريب مقفل

افتح 1 تمرين إضافي لممارسة الحزم