🐹 مرجع Go بالعربي
كل كلمة مفتاحية ودالة مدمجة ودالة قياسية في Go بالعربي: ماذا تفعل، صياغتها، مثال يوضّحها، وأشهر الأخطاء — لغة مُترجَمة فلا يوجد تشغيل حي في المتصفح. حاليًا 12 عنصر — والقائمة تكبر.
أساسيات اللغة
func
تعريف الدوال
func تعرّف دالة في Go — تدعم إعادة أكثر من قيمة دفعة واحدة، وتسمية قيم الإعادة مسبقًا داخل التوقيع نفسه.
defer
تأجيل التنفيذ حتى العودة
defer يجدول استدعاء دالة لينفَّذ مباشرة قبل عودة الدالة المحيطة — الأداة القياسية لضمان التنظيف (إغلاق ملف، فكّ قفل...) مهما كان مسار الخروج.
go
تشغيل goroutine
بادئة الاستدعاء بكلمة go تشغّل الدالة في goroutine جديدة تعمل بالتوازي دون انتظار انتهائها.
select
الاختيار بين عدّة قنوات
select يجعل الكود ينتظر أكثر من عملية قناة في نفس الوقت، وينفّذ أول حالة تصبح جاهزة.
range
المرور على العناصر
range يمرّ على عناصر شريحة أو خريطة أو نص أو قناة بصيغة موحّدة، ويعيد قيمتين مختلفتي المعنى حسب النوع.
الدوال المدمجة
make
تخصيص الشرائح والخرائط والقنوات
make دالة مدمجة تخصّص وتهيّئ شريحة أو خريطة أو قناة جاهزة للاستخدام مباشرة — بعكس new التي تعيد مؤشّرًا لقيمة صفرية فقط.
append
الإضافة لنهاية شريحة
append دالة مدمجة تضيف عنصرًا أو أكثر لنهاية شريحة، وتعيد الشريحة المحدَّثة التي يجب حفظها دائمًا.
panic
إيقاف التنفيذ الفوري
panic تُوقف التنفيذ الطبيعي للدالة الحالية فورًا وتبدأ سلسلة عودة عبر كل دالة مستدعية، منفّذة أي defer بالطريق، حتى تُلتقط بـ recover أو ينتهي البرنامج.
recover
التقاط panic والتعافي منه
recover تلتقط panic جاريًا وتوقف سلسلة الإنهاء، لتعيد البرنامج للتنفيذ الطبيعي بدل الانهيار الكامل — لكنها تعمل فقط داخل دالة مؤجَّلة بـ defer.
المكتبة القياسية
context.WithTimeout
مهلة زمنية لعملية
context.WithTimeout تشتق من context أب مهلةً زمنية نسبية — تُلغى القناة Done تلقائيًا عند انقضاء المدة أو عند استدعاء cancel يدويًا، أيّهما أسبق.
os.ReadFile
قراءة ملف كامل دفعة واحدة
os.ReadFile يقرأ محتوى ملف كاملًا من مساره ويعيده كشريحة بايتات — أبسط طريقة لقراءة ملف صغير أو متوسّط الحجم في Go.
strings.Split
تقسيم نص لأجزاء
strings.Split يقسّم نصًّا لشريحة من الأجزاء بناءً على فاصل محدَّد، مع سلوك خاص عند غياب الفاصل أو كونه فارغًا.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار GO الكامل بالعربي.