MASTRILOالدورة/إضافة حد المحاولات و وضع verbose إلى jobrunner
MASTRILO

إضافة حد المحاولات و وضع verbose إلى jobrunner

في الدرس السابق أعطينا اسم المشروع و إصداره أسماء يمكن استخدامها داخل main. لكن jobrunner يحتاج الآن إلى قيم لا تشبه الاسم أو الإصدار.

نريد تحديد عدد المحاولات المسموح بها و نريد اختيار ما إذا كان البرنامج يطبع معلومات إضافية. القيمة 3 عدد نستخدمه للعد، بينما false إجابة عن سؤال له حالتان. لا يجب أن يتعامل البرنامج معهما كنصين.

كل قيمة في Go لها نوع يحدد ما تمثله و العمليات المناسبة لها. عندما نستخدم :=، تستنتج Go نوع المتغير من القيمة التي نعطيها له.

go
name := "jobrunner" // string
maxAttempts := 3     // int
verbose := false     // bool

القيمة بين علامتي اقتباس هي string و العدد الصحيح مثل 3 هو int و true أو false هي bool. أما العدد الذي له جزء عشري، مثل 1.5 فنوعه float64 و لا يحتاجه jobrunner لأن كل أعداده صحيحة.

بهذه الأنواع نمثل اسم البرنامج و عدد محاولاته و حالة الوضع التفصيلي من دون تحويلها إلى نصوص لا تميز معانيها.

تحديث 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) 
}

عند تشغيل البرنامج ستظهر المخرجات التالية:

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

أصبح jobrunner الآن يميز بين نص و عدد و حالة تشغيل. لا نكتب النوع بعد :=، لكن Go تحتفظ بالنوع الذي استنتجته للمتغير. لذلك لا يمكن أن نضع رقما في name أو نصا في verbose لاحقا.

التحدي

في المحرر افتح ملف main.go و أضف المتغيرين التاليين:

  • maxAttempts و قيمته 3
  • verbose و قيمته false

بعدها اطبعهما بالشكل التالي:

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

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

bash
go run main.go

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

الخلاصة

تحتاج القيم إلى أنواع تناسب معناها. استخدمنا string لاسم jobrunner و int لعدد المحاولات و bool لخيار الوضع التفصيلي.

أنشأنا هذه المتغيرات بقيم أولية. لكن ماذا يحدث عندما نعلن متغيرا دون قيمة؟

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

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

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

Variables, Types, and Zero Values

2.إضافة حد المحاولات و وضع verbose إلى jobrunner

Learn Go by Building a CLI869 إضافة حد المحاولات و وضع verbose إلى jobrunnerمكافأة إكمال الدرس إضافة إلى نقاط أنشطته. 10 XP. تُمنح المكافأة مرة واحدة فقط.