التنسيق والتحليل
استخدم تخطيط المرجع
التنسيق والتحليل درس مجاني في Go Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Go Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Go Academy 4 دروس في المجموع.
قالب المرجع
لا تستخدم Go رموزًا مثل %Y. بل تستخدم وقتًا مرجعيًا واحدًا باعتباره قالبًا:
Mon Jan 2 15:04:05 MST 2006
اكتب التاريخ بهذا القالب الدقيق لتصف التنسيق الذي تريده.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 5, 0, 0, time.UTC)
fmt.Println(t.Format("2006-01-02"))
}لماذا هذه الأرقام؟
تتزايد قيم المرجع بالترتيب: 1=الشهر، 2=اليوم، 3=الساعة، 4=الدقيقة، 5=الثانية، 6=السنة، 7=المنطقة الزمنية. لذلك تعني 1 2 3 4 5 6 = 2 يناير، 03:04:05، 2006.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 14, 5, 9, 0, time.UTC)
fmt.Println(t.Format("15:04:05"))
}تنسيق تاريخ
اخلط أجزاء القالب بحرية مع النصوص الحرفية والفواصل لإنشاء أي سلسلة تاريخ.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format("02/01/2006"))
}المكونات المسماة
استخدم Jan أو January لأسماء الأشهر، وMon أو Monday لأسماء أيام الأسبوع.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format("Monday, January 2, 2006"))
}نظام 12 ساعة وAM/PM
استخدم 3 لنظام 12 ساعة، وPM لمؤشر الفترة الزمنية.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 14, 30, 0, 0, time.UTC)
fmt.Println(t.Format("3:04 PM"))
}ثوابت القوالب المضمنة
توفر الحزمة قوالب جاهزة مثل time.RFC3339 وtime.Kitchen، لذلك لا يتعين عليك حفظ الأرقام.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format(time.RFC3339))
}تحليل سلسلة نصية
تحوّل time.Parse(layout, value) النص إلى قيمة time.Time. ويصف القالب بنية الإدخال باستخدام وقت المرجع نفسه.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02", "2026-05-30")
fmt.Println(t.Year(), t.Month())
}يجب أن يطابق القالب الإدخال
إذا لم يطابق القالب بنية الإدخال، تعيد Parse خطأً. احرص دائمًا على التحقق منه.
package main
import (
"fmt"
"time"
)
func main() {
_, err := time.Parse("2006-01-02", "30/05/2026")
if err != nil {
fmt.Println("parse failed")
}
}تحليل الأوقات مع الساعات
ضمّن حقول الوقت في القالب والإدخال معًا لالتقاط الساعات والدقائق.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02 15:04", "2026-05-30 09:05")
fmt.Println(t.Hour(), t.Minute())
}التحويل ذهابًا وإيابًا
إن عمليتي Parse وFormat متعاكستان. يمكنك قراءة طابع زمني، ومعالجته، ثم إعادة تنسيقه.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse(time.RFC3339, "2026-05-30T09:00:00Z")
fmt.Println(t.Format("Jan 2, 2006"))
}خطأ شائع: استخدام مرجع خاطئ
يكتب المبتدئون غالبًا "2020-12-31" باعتباره قالبًا. وهذا خطأ: يجب أن يستخدم القالب قيم المرجع (2006 و01 و02)، وليس تاريخ المثال الذي اخترته.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 0, 0, 0, 0, time.UTC)
fmt.Println(t.Format("2006/01/02"))
}تحقق سريع
ما سلسلة التاريخ التي تمثل قالب المرجع في Go؟
مراجعة: التنسيق والتحليل
لقد أتقنت التعامل مع نصوص الوقت:
- تستخدم القوالب وقت المرجع
2006-01-02 15:04:05. - ينشئ
Formatالسلاسل النصية، بينما يقرأهاParse. - استخدم الثوابت المضمنة مثل
time.RFC3339، وتحقق دائمًا من أخطاء التحليل.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02", "2026-05-30")
fmt.Println(t.Format("Monday"))
}الأسئلة الشائعة
هل درس «التنسيق والتحليل» مجاني؟
نعم — نص درس «التنسيق والتحليل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Go Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Go Academy 4 دروس في المجموع.
ماذا ستتعلم في «التنسيق والتحليل»؟
استخدم تخطيط المرجع تتمرن على Go Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Go Academy؟
لا تُشترط خبرة سابقة. Go Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «التنسيق والتحليل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Go Academy هذا؟
نعم. كل درس في Go Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الوقت والمدة
- التنسيق والتحليل
- المؤقتات وTickers
- المناطق الزمنية