MASTRILOالدورة/تثبيت إعدادات لا يجب أن تتغير
MASTRILO

تثبيت إعدادات لا يجب أن تتغير

في jobrunner ستتغير بعض القيم أثناء التنفيذ، مثل رسالة الخطأ الأخيرة. لكن الإصدار و الحد الأقصى لعدد المحاولات يجب أن يظلا كما قررناهما عند بناء البرنامج.

نريد أن يعبر الكود عن هذا القرار و يمنع تغييره بالخطأ. لهذا نستخدم قيمة ثابتة و نسميها constant.

go
const version = "v0.1"
const maxAttempts = 3

const يشبه المتغير في أنه يعطي القيمة اسما، لكنه لا يسمح بتغيير القيمة بعد تعريفها.

تحديث jobrunner

go
package main
 
import "fmt"
 
const ( 
	version     = "v0.1"
	maxAttempts = 3
) 
 
func main() {
	name := "jobrunner"
 
	fmt.Println(name, version)
	fmt.Println("max attempts:", maxAttempts) 
}

أصبح version و maxAttempts جزءا ثابتا من إعدادات البرنامج. يمكننا استخدامهما في main، لكن لا يمكننا تغييرهما أثناء التنفيذ.

التحدي

في المحرر، افتح ملف main.go و نفذ التعديلات التالية:

  • عرف version بالقيمة "v0.1" و maxAttempts بالقيمة 3 كثابتين باستخدام const.

ثم شغل البرنامج باستخدام:

bash
go run main.go

بعد التأكد من أن البرنامج يعمل، اضغط على زر تشغيل و تحقق لإكمال الدرس.

الخلاصة

تستخدم const عندما تكون القيمة جزءا ثابتا من تصميم البرنامج. في jobrunner أصبح الإصدار و الحد الأقصى للمحاولات ثابتين لأن البرنامج لا يجب أن يغيرهما أثناء التشغيل.

بقيت قيمة واحدة مهمة لم يمثلها الكود بعد: الحالة التي تمر بها المهمة. كيف نعبر عن مجموعة حالات نعرفها مسبقا، بحيث يفحصها المترجم بدل أن نثق في كتابتنا؟

اختبر معلوماتك

سجّل دخولك للإجابة على الأسئلة وحفظ تقدّمك.

سجّل الدخول
اللوحات
نوع الخط
حجم الخط
أكملت 0 من 69 درس

Variables, Types, and Zero Values

4.تثبيت إعدادات لا يجب أن تتغير

Learn Go by Building a CLI1069 تثبيت إعدادات لا يجب أن تتغيرمكافأة إكمال الدرس إضافة إلى نقاط أنشطته. 10 XP. تُمنح المكافأة مرة واحدة فقط.