MASTRILOالدورة/بدء jobrunner قبل ظهور أي خطأ
MASTRILO

بدء jobrunner قبل ظهور أي خطأ

في الدرس السابق أضفنا عدة متغيرات إلى jobrunner.

go
package main
 
import "fmt"
 
func main() {
	name := "jobrunner"
	version := "v0.1"
	maxAttempts := 3
	verbose := false
 
	fmt.Println(name, version)
	fmt.Println("a tiny CLI for running jobs")
	fmt.Println("max attempts:", maxAttempts)
	fmt.Println("verbose:", verbose)
}

حتى الآن أعطينا كل متغير قيمة عند إنشائه. لكن في بداية تشغيل jobrunner لا توجد رسالة خطأ أخيرة بعد. ما القيمة التي نضعها في lastError؟

لا نحتاج إلى اختراع قيمة. عندما نعلن متغيرا دون إسناد قيمة له، تعطيه Go قيمة مناسبة لنوعه منذ البداية. لهذه القيمة اسم: Zero Value.

go
var lastError string

بما أن lastError نص، تبدأ قيمته بنص فارغ "". و بالطريقة نفسها يبدأ int بالقيمة 0 و يبدأ bool بالقيمة false. نوع المتغير يحدد ما يمكنه تخزينه، كما يحدد قيمة البداية عندما لا نكتبها بأنفسنا.

رسم يوضح كيف تمنح Go الأنواع string و int و bool قيمها الافتراضية
القيم الافتراضية في Go: نص فارغ و 0 و false
go
var message string
var retries int
var verbose bool

تحديث jobrunner

في بداية التشغيل لا نحتاج إلى وضع تفاصيل إضافية لذلك سنترك verbose و lastError يبدأان بالقيمتين اللتين تختارهما Go لنوعيهما.

go
package main
 
import "fmt"
 
func main() {
	name := "jobrunner"
	version := "v0.1"
	maxAttempts := 3
 
	var verbose bool
	var lastError string
 
	fmt.Println(name, version)
	fmt.Println("a tiny CLI for running jobs")
	fmt.Println("max attempts:", maxAttempts)
	fmt.Println("verbose:", verbose)
	fmt.Println("last error:", lastError) 
}

عند تشغيل البرنامج ستكون النتيجة:

text
jobrunner v0.1
a tiny CLI for running jobs
max attempts: 3
verbose: false
last error:

لم نعط المتغيرين أي قيمة. و مع ذلك طبع verbose القيمة false و طبع lastError نص فارغ. هذه القيم ليست خاصة بمشروعنا، بل هي قيم البداية التي يحددها نوع كل متغير.

التحدي

في المحرر، افتح ملف main.go و أضف المتغيرين التاليين دون إسناد أي قيمة لهما:

  • verbose من النوع bool
  • lastError من النوع string

بعدها اطبعهما مع بقية المعلومات، بحيث تصبح المخرجات:

text
jobrunner v0.1
a tiny CLI for running jobs
max attempts: 3
verbose: false
last error:

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

bash
go run main.go

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

الخلاصة

عندما لا نعرف قيمة بعد، يمكننا إعلان المتغير و الاعتماد على Zero Value الخاصة بنوعه: "" للنص و 0 للعدد الصحيح و false للحالة المنطقية.

بعض قيم jobrunner تتغير أثناء التشغيل، لكن اسم البرنامج و إصداره لا ينبغي أن يتغيرا. كيف نعلن عن قيمة ثابتة؟

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

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

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

Variables, Types, and Zero Values

3.بدء jobrunner قبل ظهور أي خطأ

Learn Go by Building a CLI969 بدء jobrunner قبل ظهور أي خطأمكافأة إكمال الدرس إضافة إلى نقاط أنشطته. 10 XP. تُمنح المكافأة مرة واحدة فقط.