0Pricing
Go Academy · درس

أحرف تنسيق Printf

نسّق القيم بدقة

أحرف تنسيق Printf درس مجاني في Go Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Go Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Go Academy 4 دروس في المجموع.

ما هو verb؟

تنشّق fmt.Printf القيم باستخدام سلسلة تنسيق. وداخلها، تكون علامة النسبة المئوية متبوعة بحرف عبارة عن verb يحدد كيفية طباعة الوسيط التالي.

مثال: %d للأعداد الصحيحة، و%s للسلاسل النصية.

package main

import "fmt"

func main() {
    fmt.Printf("%s is %d years old\n", "Ada", 36)
}

تذكّر السطر الجديد

بخلاف Println، لا تضيف Printf فاصل أسطر. أضف \n بنفسك عندما تريد ذلك.

package main

import "fmt"

func main() {
    fmt.Printf("line one\n")
    fmt.Printf("line two\n")
}

verb العام %v

يطبع %v القيمة بتنسيقها الافتراضي ويعمل مع كل أنواع البيانات تقريبًا. ويضيف %+v أسماء حقول البنية.

package main

import "fmt"

type Point struct{ X, Y int }

func main() {
    p := Point{1, 2}
    fmt.Printf("%v\n", p)
    fmt.Printf("%+v\n", p)
}

verb صياغة Go ‏%#v

يطبع %#v القيمة بالطريقة التي ستكتبها بها في شيفرة مصدر Go. وهو مفيد جدًا لتصحيح الأخطاء.

package main

import "fmt"

type Point struct{ X, Y int }

func main() {
    p := Point{1, 2}
    fmt.Printf("%#v\n", p)
}

verb النوع %T

يطبع %T نوع القيمة، وهذا مفيد عندما لا تكون متأكدًا مما تتعامل معه.

package main

import "fmt"

func main() {
    fmt.Printf("%T\n", 42)
    fmt.Printf("%T\n", "hi")
    fmt.Printf("%T\n", 3.14)
}

أسس الأعداد الصحيحة

للأعداد الصحيحة عدة verbs:

  • %d عشري،
  • %b ثنائي،
  • %o ثماني،
  • %x سداسي عشري.
package main

import "fmt"

func main() {
    n := 255
    fmt.Printf("%d %b %o %x\n", n, n, n, n)
}

تنسيق الأعداد العشرية

تستخدم الأعداد العشرية %f للعرض العشري و%e للترميز العلمي. ويختار %g أقصر صيغة معقولة.

package main

import "fmt"

func main() {
    x := 3.14159
    fmt.Printf("%f\n", x)
    fmt.Printf("%e\n", x)
    fmt.Printf("%g\n", x)
}

الدقة للأعداد العشرية

أضف .N للتحكم في المنازل العشرية. يعرض %.2f رقمين بالضبط بعد الفاصلة، وهو مثالي للمبالغ المالية.

package main

import "fmt"

func main() {
    price := 9.5
    fmt.Printf("$%.2f\n", price)
}

العرض والمحاذاة

يحدد الرقم الذي يسبق verb الحد الأدنى لـالعرض. تُحاذى القيم إلى اليمين افتراضيًا؛ وتؤدي علامة الطرح إلى محاذاتها إلى اليسار.

package main

import "fmt"

func main() {
    fmt.Printf("[%5d]\n", 42)
    fmt.Printf("[%-5d]\n", 42)
}

الحشو بالأصفار

يضيف 0 في بداية قيمة العرض أصفارًا إلى الأعداد، وهو مناسب للرموز أو الطوابع الزمنية ذات الطول الثابت.

package main

import "fmt"

func main() {
    fmt.Printf("%04d\n", 7)
    fmt.Printf("%02d:%02d\n", 9, 5)
}

القيم المنطقية والاقتباسات وعلامة النسبة المئوية

هناك verbs أخرى: %t للقيم المنطقية، و%q لسلسلة نصية بين علامتي اقتباس مزدوجتين، و%% لعرض علامة نسبة مئوية حرفية.

package main

import "fmt"

func main() {
    fmt.Printf("%t\n", true)
    fmt.Printf("%q\n", "hi")
    fmt.Printf("100%%\n")
}

تحقق سريع

أي verb ينسّق عددًا عشريًا بمنزلتين عشريتين؟

مراجعة: Printf verbs

أصبحت الآن قادرًا على التنسيق بدقة:

  • عام: %v و%+v و%#v و%T.
  • الأعداد: %d و%b و%x و%f و%.2f.
  • التخطيط: العرض، و- للمحاذاة إلى اليسار، و0 للحشو بالأصفار.
package main

import "fmt"

func main() {
    fmt.Printf("%-8s %6.2f\n", "Total:", 12.5)
}

الأسئلة الشائعة

هل درس «أحرف تنسيق Printf» مجاني؟

نعم — نص درس «أحرف تنسيق Printf» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Go Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Go Academy 4 دروس في المجموع.

ماذا ستتعلم في «أحرف تنسيق Printf»؟

نسّق القيم بدقة تتمرن على Go Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Go Academy؟

لا تُشترط خبرة سابقة. Go Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «أحرف تنسيق Printf»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Go Academy هذا؟

نعم. كل درس في Go Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أحرف تنسيق Printf
  2. Sprintf وFprintf
  3. واجهة Stringer
  4. مسح الإدخال
← العودة إلى Go Academy