رحلة
تعلّم Go (Golang)
ابدأ بتعلّم Go (Golang) من الصفر من خلال دورة أونلاين مجانية وتفاعلية. أتقن المتغيرات والشروط والحلقات والدوال وهياكل البيانات وتنظيم المشاريع عبر تمارين عملية ومشاريع حقيقية وتلميحات بالذكاء الاصطناعي وشهادة عند الإكمال.
20,350+ من الـ codders مسجلون
تتضمن هذه الرحلة
مساعدة برمجية بالذكاء الاصطناعي
دروس تفاعلية عملية
تعليق صوتي في كل درس
اختبارات لقياس معرفتك
شهادة إتمام مجانية
المنهج
3 أقسام284 درسًا256 تحديات1,839 أسئلة الاختبار01قسم 1
Fundamentals
Build a strong foundation with essential concepts and basic skillsابدأ التعلممقدمة إلى Go
4 درسًا423- 01ما هي Go؟تحدي
- 02Hello Worldتحدياختبارصوت
- 03Printlnتحدياختبارصوت
- 04تعليقات Goتحدياختبارصوت
المتغيرات وأنواع البيانات الأساسية
10 درسًا1069- 01ما هو المتغير؟تحدياختبارصوت
- 02استنتاج النوع باستخدام `:=`تحدياختبارصوت
- 03الأعداد الصحيحة (int)تحدياختبارصوت
- 04أرقام الفاصلة العائمةتحدياختبارصوت
- 05القيم المنطقية (Booleans)تحدياختبارصوت
- 06النصوص (Strings)تحدياختبارصوت
- 07القيم الصفريةتحدياختبارصوت
- 08الثوابتتحدياختبارصوت
- 09قواعد التسميةتحدياختبارصوت
- 10ملخص - المتغيرات والأنواعتحدي
المعاملات الأساسية
7 درسًا744- 01المعاملات الحسابيةتحدياختبارصوت
- 02معامل القسمةتحدياختبارصوت
- 03معامل باقي القسمةتحدياختبارصوت
- 04معامل التعيينتحدياختبارصوت
- 05معاملات التعيين المركبةتحدياختبارصوت
- 06الزيادة والنقصانتحدياختبارصوت
- 07ملخص - الحساباتتحدي
معاملات المقارنة والمعاملات المنطقية
7 درسًا742- 01معاملات المقارنة - الجزء 1تحدياختبارصوت
- 02معاملات المقارنة - الجزء 2تحدياختبارصوت
- 03معامل AND المنطقيتحدياختبارصوت
- 04معامل OR المنطقيتحدياختبارصوت
- 05معامل NOT المنطقيتحدياختبارصوت
- 06أساسيات أولوية المعاملاتتحدياختبارصوت
- 07ملخص - إجراء المقارناتتحدي
الإدخال والإخراج الأساسي
5 درسًا532- 01المخرجات المنسقةتحدياختبارصوت
- 02رموز التنسيقتحدياختبارصوت
- 03طباعة الأنواعتحدياختبارصوت
- 04الحصول على مدخلات المستخدم الأساسيةتحدياختبارصوت
- 05ملخص - الإدخال والإخراجتحدي
تدفق التحكم: الجمل الشرطية
10 درسًا1069- 01جملة `if`تحدياختبارصوت
- 02الكلمة المفتاحية `else`تحدياختبارصوت
- 03الكلمة المفتاحية `else if`تحدياختبارصوت
- 04تظليل المتغيرات في `if`تحدياختبارصوت
- 05تهيئة المتغيراتتحدياختبارصوت
- 06جملة `switch`تحدياختبارصوت
- 07`switch` مع التعبيراتتحدياختبارصوت
- 08`switch` بدون تعبيرتحدياختبارصوت
- 09الكلمة المفتاحية `fallthrough`تحدياختبارصوت
- 10ملخص - اتخاذ القراراتتحدي
تدفق التحكم: الحلقات التكرارية
7 درسًا743- 01شرح حلقة `for`تحدياختبارصوت
- 02حلقة `for` - أساسياتتحدياختبارصوت
- 03حلقة `for` - بشرط فقطتحدياختبارصوت
- 04الكلمة المفتاحية `break`تحدياختبارصوت
- 05الكلمة المفتاحية `continue`تحدياختبارصوت
- 06الحلقات المتداخلةتحدياختبارصوت
- 07ملخص - تكرار العملياتتحدي
الدوال
9 درسًا962- 01فهم الدوالتحدياختبارصوت
- 02التصريح عن دالةتحدياختبارصوت
- 03استدعاء الدوالتحدياختبارصوت
- 04معاملات الدالةتحدياختبارصوت
- 05إرجاع قيمة واحدةتحدياختبارصوت
- 06إرجاع قيم متعددةتحدياختبارصوت
- 07قيم الإرجاع المسماةتحدياختبارصوت
- 08أساسيات نطاق الدالةتحدياختبارصوت
- 09ملخص - إنشاء كود قابل لإعادة الاستخدامتحدي
المؤشرات
7 درسًا644- 01ما هو المؤشر؟اختبارصوت
- 02التصريح عن متغيرات المؤشرتحدياختبارصوت
- 03معامل العنوان (Address-Of)تحدياختبارصوت
- 04إلغاء مرجعية المؤشرات (Dereferencing)تحدياختبارصوت
- 05استخدام المؤشرات في الدوالتحدياختبارصوت
- 06المؤشرات من النوع Nilتحدياختبارصوت
- 07ملخص - فهم المؤشراتتحدي
الأنواع المركبة: المصفوفات
7 درسًا650- 01مقدمة إلى المصفوفاتاختبارصوت
- 02التصريح عن المصفوفاتتحدياختبارصوت
- 03تهيئة المصفوفاتتحدياختبارصوت
- 04الوصول إلى عناصر المصفوفةتحدياختبارصوت
- 05طول المصفوفة باستخدام `len`تحدياختبارصوت
- 06التكرار عبر المصفوفاتتحدياختبارصوت
- 07المصفوفات متعددة الأبعادتحدياختبارصوت
الأنواع المركبة: الشرائح
10 درسًا965- 01مقدمة إلى الشرائحاختبارصوت
- 02التصريح عن القيم المباشرة للشرائحتحدياختبارصوت
- 03إنشاء الشرائح باستخدام `make`تحدياختبارصوت
- 04طول الشريحة مقابل سعتهاتحدياختبارصوت
- 05الوصول إلى عناصر الشريحةتحدياختبارصوت
- 06إضافة العناصرتحدياختبارصوت
- 07اقتطاع الشرائح/المصفوفات الموجودةتحدياختبارصوت
- 08التكرار عبر الشرائحتحدياختبارصوت
- 09نسخ الشرائحتحدياختبارصوت
- 10ملخص - القوائم الديناميكيةتحدي
الأنواع المركبة: الخرائط (Maps)
10 درسًا965- 01مقدمة إلى الخرائط (Maps)اختبارصوت
- 02التصريح عن الخرائط باستخدام Literalsتحدياختبارصوت
- 03إنشاء الخرائط باستخدام `make`تحدياختبارصوت
- 04إضافة وتحديث (مفتاح-قيمة)تحدياختبارصوت
- 05الوصول إلى قيم الخريطةتحدياختبارصوت
- 06التحقق من وجود المفتاحتحدياختبارصوت
- 07حذف مدخلات الخريطةتحدياختبارصوت
- 08طول الخريطةتحدياختبارصوت
- 09التكرار عبر الخرائطتحدياختبارصوت
- 10ملخص - تخزين (مفتاح-قيمة)تحدي
الأنواع المركبة: Structs
8 درسًا854- 01تعريف أنواع مخصصةتحدياختبارصوت
- 02إنشاء نماذج من الـ Structsتحدياختبارصوت
- 03الوصول إلى حقول الـ Structتحدياختبارصوت
- 04المؤشرات إلى الـ Structsتحدياختبارصوت
- 05تهيئة الـ Structsتحدياختبارصوت
- 06الـ Structs المضمنةتحدياختبارصوت
- 07الـ Structs المجهولةتحدياختبارصوت
- 08مراجعة - هياكل البيانات المخصصةتحدي
التعامل الأساسي مع الأخطاء
8 درسًا858- 01مفهوم الأخطاءتحدياختبارصوت
- 02واجهة الـ `error`تحدياختبارصوت
- 03الدوال التي تعيد أخطاءتحدياختبارصوت
- 04التحقق من الأخطاءتحدياختبارصوت
- 05إنشاء أخطاء بسيطةتحدياختبارصوت
- 06إنشاء أخطاء منسقةتحدياختبارصوت
- 07التعامل الأساسي مع الأخطاءتحدياختبارصوت
- 08ملخص - معالجة المشكلاتتحدي
02قسم 2
Logic & Flow
Master advanced Go programming with a focus on data structures and flow control. Learn to work with complex arrays, collections, error handling, and time management.ابدأ التعلمتدفق التحكم المتقدم
5 درسًا528- 01جملة Switch مع `fallthrough`تحدياختبار
- 02الخروج من الحلقات المتداخلةتحدياختبار
- 03الاستمرار في حلقة محددةتحدياختبار
- 04جملة `goto`تحدياختبار
- 05ملخص - التحكم المتقدم في الحلقاتتحدي
الـ Structs والميثودز (Methods)
6 درسًا439- 01تعريف الـ Methods على الـ Structsتحدياختبار
- 02الـ Value Receiversتحدياختبار
- 03الـ Pointer Receiversتحدياختبار
- 04اختيار الـ Receiversاختبار
- 05الـ Methods مقابل الـ Functionsاختبار
- 06ملخص - سلوك الـ Structتحدي
الواجهات (الأساسيات)
8 درسًا757- 01ما هي الواجهة؟اختبار
- 02تعريف الواجهةتحدياختبار
- 03تطبيق الواجهةتحدياختبار
- 04استخدام أنواع الواجهاتتحدياختبار
- 05الواجهة الفارغةتحدياختبار
- 06تأكيدات النوع (Type Assertions)تحدياختبار
- 07تبديل النوع (Type Switch)تحدياختبار
- 08ملخص - الأشكال والسلوكياتتحدي
مشروع: قائمة مهام بسيطة
مشروع6 درسًا1- 01إعداد المشروعتحدي
- 02إضافة مهمةمشروع
- 03عرض جميع المهاممشروع
- 04إكمال مهمةمشروع
- 05حذف مهمةمشروع
- 06تجميع كل الأجزاءمشروع
تعمق في الـ Maps
5 درسًا432- 01Maps من نوع Structsتحدياختبار
- 02الـ Pointers كقيم في الـ Mapsتحدياختبار
- 03التحقق من الـ Nil Mapsتحدياختبار
- 04مقارنة الـ Mapsاختبار
- 05مراجعة - عداد تكرار الكلماتتحدي
أسلوب Go الاصطلاحي: المجموعات
7 درسًا648- 01أسلوب المجموعات في Goاختبار
- 02إنشاء مجموعةتحدياختبار
- 03الإضافة إلى مجموعةتحدياختبار
- 04التحقق من العضوية في المجموعةتحدياختبار
- 05الحذف من مجموعةتحدياختبار
- 06التكرار عبر عناصر المجموعةتحدياختبار
- 07مراجعة - أسماء مستخدمين فريدةتحدي
معالجة الأخطاء بعمق
7 درسًا650- 01أنواع الأخطاء المخصصةتحدياختبار
- 02تغليف الأخطاء باستخدام `%w`تحدياختبار
- 03فك التغليف باستخدام `errors.Is`تحدياختبار
- 04فك التغليف باستخدام `errors.As`تحدياختبار
- 05فهم `panic`اختبار
- 06استخدام `recover`تحدياختبار
- 07ملخص - القسمة الآمنةتحدي
مشروع: مخزون بسيط
مشروع6 درسًا1- 01نظرة عامة على المشروعتحدي
- 02التحقق من المخزونمشروع
- 03إضافة عنصر جديدمشروع
- 04تحديث كمية المخزونمشروع
- 05إنشاء تقريرمشروع
- 06تجميع كل الأجزاء معاًمشروع
الحزم والنطاق
7 درسًا550- 01ما هي الحزمة؟اختبار
- 02المصدرة مقابل غير المصدرةتحدياختبار
- 03إنشاء حزمة بسيطةتحدياختبار
- 04الأسماء المستعارة للحزمتحدياختبار
- 05المعرف الفارغ `_`اختبار
- 06دالة `init`تحدياختبار
- 07ملخص - بناء أداة مساعدةتحدي
التعامل مع الوقت
8 درسًا857- 01الحصول على الوقت الحاليتحدياختبار
- 02إنشاء وقت محددتحدياختبار
- 03تنسيق الوقتتحدياختبار
- 04تحليل النصوص الزمنيةتحدياختبار
- 05المدة الزمنيةتحدياختبار
- 06العمليات الحسابية على الوقتتحدياختبار
- 07الانتظار والـ Tickersتحدياختبار
- 08مراجعة - مؤقت بسيطتحدي
التحديات النهائية
3 درسًا3- 01قائمة جهات اتصال أساسيةتحدي
- 02مدقق أرقام بسيطتحدي
- 03جامع عناصر فريدةتحدي
03قسم 3
Object Oriented Programming
Discover how to organize code with classes, objects, and reusable structuresابدأ التعلمأساسيات الـ OOP في Go
11 درسًا1189- 01الملفات الخارجيةتحدياختبار
- 02مساحة العمل والـ Modules في Goتحدياختبار
- 03الـ Packages والـ Importsتحدياختبار
- 04الأسماء المصدرة مقابل غير المصدرةتحدياختبار
- 05مقدمة إلى الـ OOP في Goتحدياختبار
- 06الـ Structs كـ Classesتحدياختبار
- 07تعريف الـ Methods في الـ Structsتحدياختبار
- 08الـ Pointer Receivers مقابل الـ Value Receiversتحدياختبار
- 09تهيئة الـ Structتحدياختبار
- 10دوال الـ Constructorتحدياختبار
- 11مراجعة - آلة حاسبة بسيطةتحدي
تعمق في الأنواع و Structs
7 درسًا752- 01الأنواع الأساسية والمركبةتحدياختبار
- 02تعريفات الأنواع المخصصةتحدياختبار
- 03Struct Tagsتحدياختبار
- 04Structs مجهولةتحدياختبار
- 05Structs متداخلةتحدياختبار
- 06القيم الصفرية والافتراضيةتحدياختبار
- 07مراجعة - دفتر العناوينتحدي
المؤشرات والذاكرة
6 درسًا644- 01أساسيات المؤشرات في Goتحدياختبار
- 02المؤشرات إلى الـ Structsتحدياختبار
- 03التمرير بالقيمة مقابل التمرير بالمرجعتحدياختبار
- 04دالة ()newتحدياختبار
- 05Garbage Collection في Goتحدياختبار
- 06ملخص - بناء Linked Listتحدي
الواجهات
9 درسًا969- 01مقدمة في الواجهاتتحدياختبار
- 02التنفيذ الضمنيتحدياختبار
- 03الواجهة كعقدتحدياختبار
- 04الواجهة الفارغة (any)تحدياختبار
- 05تأكيد النوع (Type Assertion)تحدياختبار
- 06تبديل النوع (Type Switch)تحدياختبار
- 07تركيب الواجهاتتحدياختبار
- 08واجهات Stringer و Errorتحدياختبار
- 09مراجعة - حاسبة الأشكالتحدي
التركيب بدلاً من الوراثة
7 درسًا749- 01لماذا لا تدعم Go الوراثةتحدياختبار
- 02أساسيات تضمين الـ Structتحدياختبار
- 03ترقية الـ Methodتحدياختبار
- 04تضمين عدة Structsتحدياختبار
- 05التضمين مقابل التجميعتحدياختبار
- 06حجب الـ Methods المضمنةتحدياختبار
- 07ملخص - الهيكل الهرمي للموظفينتحدي
تعدد الأشكال في Go
6 درسًا643- 01تعدد الأشكال عبر Interfacesتحدياختبار
- 02Duck Typing في Goتحدياختبار
- 03قواعد استيفاء الـ Interfaceتحدياختبار
- 04مجموعات متعددة الأشكالتحدياختبار
- 05حقن التبعيةتحدياختبار
- 06مراجعة - معالج الدفعتحدي
التغليف
5 درسًا536- 01الحقول المصدرة وغير المصدرةتحدياختبار
- 02التغليف على مستوى الحزمةتحدياختبار
- 03دوال الـ Getter والـ Setterتحدياختبار
- 04إخفاء المعلومات في Goتحدياختبار
- 05ملخص - سجلات الطلابتحدي
معالجة الأخطاء و OOP
7 درسًا754- 01واجهة errorتحدياختبار
- 02أنواع الأخطاء المخصصةتحدياختبار
- 03تغليف الأخطاء (fmt.Errorf)تحدياختبار
- 04أخطاء Sentinelتحدياختبار
- 05errors.Is() و errors.As()تحدياختبار
- 06Panic و Defer و Recoverتحدياختبار
- 07ملخص - File Parserتحدي
التزامن والبرمجة كائنية التوجه (OOP)
8 درسًا863- 01أساسيات الـ Goroutinesتحدياختبار
- 02القنوات (Channels) والاتصالتحدياختبار
- 03القنوات المخزنة (Buffered) مقابل غير المخزنةتحدياختبار
- 04جملة Selectتحدياختبار
- 05sync.Mutex و sync.RWMutexتحدياختبار
- 06sync.WaitGroupتحدياختبار
- 07تصميم الـ Structs الآمنة للخيوط (Thread-Safe)تحدياختبار
- 08مراجعة - Worker Poolتحدي
الأنواع العامة (Go 1.18+)
6 درسًا645- 01مقدمة في الأنواع العامةتحدياختبار
- 02معاملات الأنواعتحدياختبار
- 03قيود الأنواعتحدياختبار
- 04الـ Structs العامةتحدياختبار
- 05حل بديل للـ Methods العامةتحدياختبار
- 06ملخص - المجموعات العامةتحدي
المكتبة القياسية والبرمجة كائنية التوجه (OOP)
6 درسًا644- 01io.Reader و io.Writerتحدياختبار
- 02واجهة sort.Interfaceتحدياختبار
- 03واجهة fmt.Stringerتحدياختبار
- 04encoding/json مع Structsتحدياختبار
- 05واجهة http.Handlerتحدياختبار
- 06مراجعة - نماذج REST APIتحدي
مفاهيم OOP المتقدمة
6 درسًا655- 01نمط Functional Optionsتحدياختبار
- 02نمط Builder في Goتحدياختبار
- 03تسلسل الدوال (Method Chaining)تحدياختبار
- 04الأسماء المستعارة للأنواع مقابل التعريفاتتحدياختبار
- 05أساسيات الـ Reflectionتحدياختبار
- 06نظرة عامة على Code Generationتحدياختبار
أنماط التصميم - الجزء الأول
6 درسًا651- 01مقدمة في أنماط التصميمتحدياختبار
- 02نمط Singletonتحدياختبار
- 03نمط Factoryتحدياختبار
- 04نمط Abstract Factoryتحدياختبار
- 05نمط Observerتحدياختبار
- 06نمط Strategyتحدياختبار
أنماط التصميم - الجزء الثاني
7 درسًا764- 01نمط الأمرتحدياختبار
- 02نمط المحولتحدياختبار
- 03نمط المزينتحدياختبار
- 04نمط طريقة القالبتحدياختبار
- 05نمط الحالةتحدياختبار
- 06نمط التركيبتحدياختبار
- 07Middleware كنمط مزينتحدياختبار
مشروع: إدارة المكتبة
مشروع7 درسًا1- 01نظرة عامة وهيكل المشروعتحدي
- 02هياكل Structs الكتاب والمستخدممشروع
- 03نظام الاستعارةمشروع
- 04البحث باستخدام Interfacesمشروع
- 05طبقة حفظ البيانات JSONمشروع
- 06واجهة CLI للمسؤولمشروع
- 07الاختبار والتكاملمشروع
التحديات النهائية
3 درسًا3- 01منصة تعليم إلكترونيتحدي
- 02نظام بنكيتحدي
- 03نظام شخصيات الألعابتحدي
لماذا تتعلم Go (Golang) مع Coddy
- دورة Go (Golang) مجانية أونلاين: لا تثبيت ولا إعداد أدوات ولا عوائق للبدء. افتح المتصفح وابدأ التدريب من الدرس الأول.
- دروس Go (Golang) العملية تتجاوز الشرح النظري: كل مفهوم يرتبط بتمرين تكتب فيه كودًا حقيقيًا وتتعلم بالممارسة.
- تلميحات الذكاء الاصطناعي تساعدك عندما تتوقف في تمرين Go (Golang)، فتوضح الخطوة التالية من دون إعطاء الحل كاملًا.
- شهادة إتمام مجانية لدورة Go (Golang) يمكنك مشاركتها على LinkedIn أو إضافتها إلى سيرتك الذاتية.
أسئلة شائعة حول تعلّم Go (Golang)
هل Go (Golang) سهل التعلم؟
نعم، يمكنك البدء في Go (Golang) حتى لو لم تكن لديك خبرة سابقة. يقسّم Coddy المفاهيم إلى تمارين قصيرة لتفهم الصياغة وتتدرب على المتغيرات والشروط والحلقات والدوال وهياكل البيانات وتنظيم المشاريع وتبني ثقتك تدريجيًا.
كم يستغرق تعلّم Go (Golang)؟
يمكن تعلّم أساسيات Go (Golang) عادة خلال أسبوع أو أسبوعين من التدريب اليومي. ولإنشاء مشاريع حقيقية بثقة، خصص من شهر إلى ثلاثة أشهر حسب سرعتك وخبرتك السابقة.
أين يمكنني تعلّم Go (Golang) أونلاين مجانًا؟
يوفر Coddy دورة Go (Golang) مجانية أونلاين تشمل دروسًا وتحديات برمجية واختبارات ومشاريع. لا تحتاج إلى تثبيت أي شيء؛ كل شيء يعمل داخل المتصفح.
كيف أتعلم Go (Golang) بسرعة؟
أسرع طريقة هي التدريب اليومي. في Coddy تنتقل من شرح قصير إلى تمرين مباشر مع تلميحات ذكاء اصطناعي، فتقضي وقتك في كتابة Go (Golang) بدل مشاهدة فيديوهات طويلة فقط.
هل أحصل على شهادة Go (Golang) عند الانتهاء؟
نعم. عند إكمال دورة Go (Golang) على Coddy تحصل على شهادة إتمام مجانية يمكنك مشاركتها على LinkedIn أو إضافتها إلى سيرتك الذاتية.
ماذا يمكنني بناءه بعد تعلّم Go (Golang)؟
بعد الدورة ستتمكن من إنشاء سكربتات مفيدة وتطبيقات صغيرة وأتمتة وألعاب بسيطة ومشاريع تضيفها إلى معرض أعمالك. وستمتلك أيضًا أساسًا قويًا للانتقال إلى موضوعات أكثر تقدمًا.