المخرجات المنسقة
جزء من قسم الأساسيات في رحلة GO على Coddy. الدرس 29 من 109.
لنتعلّم كيفية تنسيق مخرجاتنا في Go باستخدام الدالة fmt.Printf(). تتيح لنا هذه الدالة عرض القيم بتنسيقات محددة باستخدام العناصر النائبة.
أولًا، لننشئ برنامجًا يقوم بتنسيق أنواع بيانات مختلفة باستخدام العناصر النائبة:
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)بعد تنفيذ هذا الكود، سيظهر النص "Name: Gopher, Age: 5, Height: 1.5" على الشاشة. يتم استبدال العناصر النائبة في السلسلة النصية بالقيم الفعلية لمتغيراتنا.
لنفهم ما يفعله كل عنصر نائب:
// %s يُستبدل بقيمة سلسلة نصية (name)
// %d يُستبدل بقيمة عدد صحيح (age)
// %.1f يُستبدل بقيمة عائمة تُظهر منزلة عشرية واحدة (height)
// %t يُستبدل بقيمة منطقية (true or false)إن \n في نهاية format string هو حرف هروب ينقل المؤشر إلى سطر جديد، تمامًا مثل الضغط على Enter. يجب أن يظهر داخل علامتي الاقتباس من دون مسافة قبل علامة الاقتباس الختامية، وإلا فستظهر مسافات إضافية في مخرجاتك.
تستبدل الدالة fmt.Printf() كل عنصر نائب بالمتغير المقابل الذي نقدّمه بعد سلسلة التنسيق. يجب أن يتطابق ترتيب المتغيرات مع ترتيب العناصر النائبة.
لنجرّب الآن مثالًا آخر باستخدام أنواع مختلفة من التنسيق:
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)بعد تنفيذ هذا الكود، سيظهر النص "Pi: 3.14, Percentage: 75.0%, Letter: A" على الشاشة. لاحظ كيف يعرض %.2f منزلتين عشريتين فقط لقيمة pi، ونضرب percentage في 100 لعرضها كقيمة Percentage.
لاحظ أيضًا وجود %% في سلسلة التنسيق. هذا تسلسل هروب خاص يطبع علامة % حرفيًا. ستُعامَل علامة % واحدة على أنها بداية عنصر نائب، لذلك نستخدم %% كلما أردنا عرض رمز النسبة المئوية الفعلي في الناتج.
التحدي
سهلفي هذا التحدي، ستتدرّب على استخدام المخرجات المنسّقة في Go باستخدام الدالة fmt.Printf().
لديك information حول منتج يحتاج إلى عرضه بتنسيق محدد باستخدام format verbs. المتغيرات معرّفة بالفعل نيابةً عنك.
مهمتك هي استخدام fmt.Printf() مع format verbs المناسبة لعرض information الخاصة بالمنتج:
- استخدم %s مع strings
- استخدم %d مع integers
- استخدم %.2f مع أرقام الفاصلة العائمة التي تحتوي على منزلتين عشريتين
- استخدم %t مع قيم boolean
اعرض information الخاصة بالمنتج تمامًا كما تظهر في المخرجات المتوقعة.
REQUIRED OUTPUT FORMAT:جرّب بنفسك
package main
import "fmt"
func main() {
// معلومات المنتج
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: استخدم fmt.Printf() مع رموز التنسيق لعرض معلومات المنتج:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// تلميح: استخدم %s للنصوص، %d للأعداد الصحيحة، %.2f للأعداد العشرية، %t للقيم المنطقية
// تذكر إضافة \n في نهاية كل سطر للتنسيق الصحيح
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4معاملات المقارنة والمعاملات المنطقية
معاملات المقارنة - الجزء 1معاملات المقارنة - الجزء 2معامل AND المنطقيمعامل OR المنطقيمعامل NOT المنطقيأساسيات أولوية المعاملاتملخص - إجراء المقارنات7تدفق التحكم: الحلقات التكرارية
شرح حلقة `for`حلقة `for` - أساسياتحلقة `for` - بشرط فقطالكلمة المفتاحية `break`الكلمة المفتاحية `continue`الحلقات المتداخلةملخص - تكرار العمليات2المتغيرات وأنواع البيانات الأساسية
ما هو المتغير؟استنتاج النوع باستخدام `:=`الأعداد الصحيحة (int)أرقام الفاصلة العائمةالقيم المنطقية (Booleans)النصوص (Strings)القيم الصفريةالثوابتقواعد التسميةملخص - المتغيرات والأنواع5الإدخال والإخراج الأساسي
المخرجات المنسقةرموز التنسيقطباعة الأنواعالحصول على مدخلات المستخدم الأساسيةملخص - الإدخال والإخراج8الدوال
فهم الدوالالتصريح عن دالةاستدعاء الدوالمعاملات الدالةإرجاع قيمة واحدةإرجاع قيم متعددةقيم الإرجاع المسماةأساسيات نطاق الدالةملخص - إنشاء كود قابل لإعادة الاستخدام3المعاملات الأساسية
المعاملات الحسابيةمعامل القسمةمعامل باقي القسمةمعامل التعيينمعاملات التعيين المركبةالزيادة والنقصانملخص - الحسابات6تدفق التحكم: الجمل الشرطية
جملة `if`الكلمة المفتاحية `else`الكلمة المفتاحية `else if`تظليل المتغيرات في `if`تهيئة المتغيراتجملة `switch``switch` مع التعبيرات`switch` بدون تعبيرالكلمة المفتاحية `fallthrough`ملخص - اتخاذ القراراتتدرّب بنفسك: مترجم Go عبر الإنترنت