أيقونة تطبيق تعلم Go: دورة برمجة

تعلم Go: دورة برمجة

التعليم · مجاني · iOS & Android · CoddyKit

تعلم Go: دورة برمجة — دليل تعليمي لـ Golang يضم مترجمًا، وكاشفًا لظروف الت race، وتمارين يومية على هاتفك

تعلم Go: دورة برمجة هو دليل تعليمي لـ Golang مجاني على iOS وAndroid للمبتدئين والمطورين العاملين، ويضم مترجمًا ومحررًا لـ Go يشغّل التعليمات البرمجية على سلسلة أدوات Go حقيقية (يلزم اتصال بالإنترنت). اختبرها باستخدام gofmt و go vet وكاشف الت race، واطّلع على 51 دورة تبدأ من fmt.Println الأولى وصولًا إلى goroutines وواجهات REST البرمجية وgRPC، مع مرشد AI للأجزاء التي يصعب فهمها.

App Store — تنزيل مجانيGoogle Play — تنزيل مجاني
السعر
مجاني، مع ترقية Pro
المنصات
iOS وAndroid
اللغات
22
التصنيف العمري
4+
يتطلب
iOS 15.1 أو أحدث
الشاشة الرئيسية لمسار تعلّم Go، مع زر «بدء الدرس الأول» وحلقة للهدف اليومي وبطاقة لطلب ميزةنظرة عامة على دورة Go Kickoff Concepts and Setup، مع شريط تقدّم ومجموعة الدروس الأولى المجانية وزر «تغيير دورتك»
51دورة، من A1 إلى C1
-raceمختبر Concurrency مع كاشف race
يوميتمرين kata جديد كل يوم
احذف الكلمة المفتاحية go وشاهد المهمة نفسها تستغرق ثلاثة أضعاف الوقت.

هذا أول ما يجعلك التطبيق تفعله باستخدام Go: شغّل ثلاث مهام، تستغرق كل منها 120 ms، وشاهد الإجمالي يأتي بأقل بكثير من 360 ms، ثم أزل الكلمة المفتاحية الوحيدة التي جعلتها متزامنة. تتمحور فكرة اللغة كلها حول تلك الكلمة، ويتيح لك التطبيق اختبار أثرها قبل شرحها.

ما هو

تعلم Go: دورة برمجة هو تطبيق مجاني على iOS وAndroid لتعلّم Go، وهي اللغة المترجمة التي تقف وراء جزء كبير من برمجيات السحابة والخوادم اليوم. يضم 51 دورة و203 دروسًا، مرتبة من المبتدئ إلى المتقدم، ومحررًا للتعليمات البرمجية يشغّل البرامج على سلسلة أدوات Go حقيقية، وتمرين kata يوميًا، ومختبر Concurrency مع كاشف race حقيقي، ومسارًا موجّهًا تبني فيه نواة HTTP الخاصة بك. ويجيب مرشد AI عن الأسئلة المتعلقة بأي درس.

داخل التطبيق

كيف يبدو

الشاشة الرئيسية لمسار تعلّم Go، مع زر «بدء الدرس الأول» وحلقة للهدف اليومي وبطاقة لطلب ميزة
مسار التعلّمتُفتح الشاشة الرئيسية على مسار التعلّم، مع زر بدء وهدف يومي ورابط إلى Skill Hub.
نظرة عامة على دورة Go Kickoff Concepts and Setup، مع شريط تقدّم ومجموعة الدروس الأولى المجانية وزر «تغيير دورتك»
نظرة عامة على الدورةالدورة الأولى، Go Kickoff: Concepts & Setup، مجانية وتتكوّن من ثلاثة دروس قصيرة.
محرّر أكواد يعرض برنامج Go يتضمّن package main وimport fmt واستدعاءات fmt.Println، بجوار درس عن البرنامج الأول
محرّر الأكواددرس بعنوان برنامجك الأول، مع فتح محرّر الأكواد على ملف package main وزر تشغيل.
شاشة دردشة AI مع اقتراحات لشرح المفاهيم الأساسية وتقديم النصائح واختباري وإنشاء خارطة طريق للتعلّم
المرشد AIتبدأ الدردشة بأربعة اقتراحات: شرح المفاهيم الأساسية، أو تقديم النصائح، أو اختباري، أو إعداد خارطة طريق.
شاشة رئيسية بالمظهر الفاتح، تعرض مسار التعلّم والهدف اليومي وSkill Hub
الشاشة الرئيسيةالشاشة الرئيسية نفسها بالمظهر الفاتح، مع ظهور الهدف اليومي وSkill Hub أسفل الدورة النشطة.

الدورة

ما تغطيه دورة Go

51 دورة و203 دروس من قائمة دورات التطبيق الخاصة، بمستويات تمتد من A1 إلى C1، وتنتقل من البرنامج الأول إلى تحليل الأداء وجامع البيانات المهملة.

  1. مرحبًا بك في Go والأساسيات

    ماهيّة Go وسبب إنشاء Google لها، ثم المتغيرات والأنواع والقيم الصفرية والثوابت وتدفّق التحكم باستخدام if وfor وswitch.

  2. الدوال والشرائح والخرائط

    الدوال ذات قيم الإرجاع المتعددة، وdefer والمعاملات variadic، والمصفوفات والشرائح والخرائط، إضافةً إلى السلاسل النصية وتنسيق fmt وحزمة time.

  3. البُنى والمؤشرات والواجهات

    البُنى والأساليب، ومستقبلات القيمة في مقابل مستقبلات المؤشرات، والمؤشرات والواجهات الضمنية وduck typing، إضافةً إلى التضمين من أجل التركيب.

  4. الأخطاء والحزم والمكتبة القياسية

    التعامل الصريح مع الأخطاء باستخدام errors.Is وerrors.As، والحزم والوحدات، وإدخال وإخراج الملفات وJSON، والتعابير النمطية والفرز وإدخال وإخراج البيانات باستخدام المخزن المؤقت.

  5. Goroutines والقنوات والمزامنة

    أساسيات Goroutine والقنوات، وأنماط select والقنوات، وكائنات mutex وحزمة sync، وcontext للإلغاء، ومجمّعات العمال وخطوط المعالجة.

  6. HTTP وREST وقواعد البيانات

    خوادم وعملاء HTTP باستخدام net/http، وواجهات REST API باستخدام Gin، وأنماط middleware، وdatabase/sql باستخدام sqlx وpgx، وGORM وWebSockets.

  7. الاختبار والأدوات والنشر

    اختبارات تعتمد على الجداول واختبارات فرعية، وتطبيقات سطر الأوامر باستخدام Cobra، والإعدادات باستخدام Viper، والتسجيل المنظّم باستخدام slog، وإنشاءات Docker متعددة المراحل.

  8. Go المتقدم

    Generics باستخدام معاملات الأنواع والقيود، وقياس الأداء وتحليله باستخدام pprof، وgRPC باستخدام Protocol Buffers، والاستبطان، ونموذج الذاكرة.

كيف يعمل

كيف تسير الجلسة

كل درس عبارة عن قراءة قصيرة تتبعها تعليمات برمجية تشغّلها، بحيث تحدث الفكرة والتطبيق في الجلسة نفسها.

  1. اقرأ درسًا قصيرًا واحدًا

    افتح دورة وخذ درسًا واحدًا يستغرق بضع دقائق، مع شرح نظري بلغة واضحة ومثال صغير، مثل برنامج package main وfmt.Println في الدرس الأول تمامًا.

  2. شغّله على سلسلة أدوات Go حقيقية

    يرسل المحرر برنامجك إلى مشغّل Go ويعرض الناتج. ويعمل gofmt وgo vet وكاشف race بالطريقة نفسها، لذلك يحتاج التطبيق إلى اتصال عند الضغط على زر التشغيل، كما يعرض البرنامج الذي يتعطل شرحًا للخطأ بلغة واضحة.

  3. تدرّب عليه من زاوية أخرى

    بعد تناول موضوع ما، أجب عن الاختبار، وحلّ تمرين kata اليومي، وتدرّب على لغز للتزامن، أو اطلب من مرشد AI أن يختبرك. ينظر كل خيار إلى الفكرة نفسها بطريقة مختلفة، وهذا ما يساعدك على ترسيخها.

ماذا يتضمن

ما يأتي مع التطبيق

51

دورة، من A1 إلى C1

203 دروسًا ضمن 51 دورة، تبدأ من أساسيات Go وslices وmaps، مرورًا بـ interfaces ومعالجة الأخطاء وgoroutines وnet/http وGin والوصول إلى قواعد البيانات ونشر Docker وgRPC وجامع البيانات المهملة.

-race

مختبر Concurrency مع كاشف race

تغطي ستة ألغاز قابلة للتشغيل goroutines اثنتين على channel واحدة، ومصافحة غير مخزنة مؤقتًا، وتوزيعًا باستخدام WaitGroup، وعدادًا يفقد التحديثات، وmap يكتب فيها كاتبان، وحالة توقف تام. ويمكنك أيضًا تشغيل تعليماتك البرمجية الخاصة باستخدام كاشف race، مجانًا ومن دون حد يومي.

يومي

تمرين kata جديد كل يوم

تمرين Go يُتحقق منه مقابل جدول من الحالات، بما فيها الحالات المخفية، مع شرح مرجعي بعد ذلك. وتمرين kata اليومي مجاني للجميع؛ بينما يفتح Pro المكتبة الكاملة والحلول المرجعية والشروحات.

الطبيب

Go Doctor

تحقق مما إذا كان gofmt سيعيد كتابة ملفك وطبّقه، وشغّل go vet للبحث عن الملاحظات، ومع Pro اسأل تحليل الهروب في المترجم عن سبب تخصيص قيمة في الذاكرة. التنسيق غير محدود، بينما يقتصر go vet على ثلاث عمليات تشغيل يوميًا في الخطة المجانية.

7 خطوات

ابنِ نواة HTTP الخاصة بك

مسار موجّه تكتب فيه بنفسك الطلب والاستجابة والمعالجات بوصفها دوالًا والتوجيه ومعلمات المسار والبرمجيات الوسيطة وJSON مع أخطاء مغلّفة، خطوةً تلو الأخرى مع التحقق من كل خطوة.

AI

مرشد AI ومقابلة تجريبية

اطلب من مرشد AI أن يشرح مفهومًا، أو يضع لك خارطة طريق، أو يختبرك. وتطرح المقابلة التجريبية خمسة أسئلة عن Go على مستوى المبتدئ أو المتوسط أو الخبير، وتقيّم إجاباتك، مع إتاحة مقابلة واحدة مُقيّمة أسبوعيًا مجانًا.

الاسترجاع

Go Recall وGo by Example

بطاقات قصيرة من نوع «ماذا ستطبع هذه التعليمات؟» حول الأخطاء الشائعة الكلاسيكية، مثل ترتيب defer وخرائط nil ومشاركة append للذاكرة، بالإضافة إلى مقتطفات قابلة للتشغيل من المكتبة القياسية يمكنك تشغيلها وتعديلها.

الخلفية

لماذا تتعلم Go للعمل في مجال backend، وما الذي يميزها؟

Go هي لغة مكتوبة نوعيًا بصورة ثابتة ومترجمة، أنشأتها Google، وتُستخدم على نطاق واسع في خدمات الويب وأدوات سطر الأوامر والبنية التحتية السحابية. وتكمن جاذبيتها للعمل في مجال backend في أن الكثير من العناصر مدمج فيها: فالتزامن جزء من اللغة، وتغطي المكتبة القياسية معظم ما تحتاج إليه خدمة صغيرة، ويُترجم البرنامج إلى ملف ثنائي واحد من دون الحاجة إلى تثبيت أي شيء إضافي. واللغة صغيرة عمدًا، ما يجعل قراءتها سريعة، لكنه يمنح المبتدئين بعض الأساليب غير المألوفة التي ينبغي تعلّمها مبكرًا.

Goroutines والقنواتالتزامن من دون إدارة الخيوط

إن goroutine هي دالة تبدأ باستخدام الكلمة المفتاحية go، أما channel فهي الأنبوب الذي تستخدمه goroutines لتمرير القيم. ويحل الاثنان معًا محل معظم عمليات التعامل اليدوي مع الخيوط، ولذلك يُدرّس التزامن مبكرًا بدلًا من تركه موضوعًا متقدمًا.

الأخطاء قيملا توجد استثناءات

تُعيد دالة Go التي قد تفشل خطأً بوصفه قيمة ثانية عادية، ويتحقق المستدعي منه فورًا في الموضع نفسه. وهذا يتطلب كتابة أكثر من كتلة try، لكنه يعني أن كل مسار للفشل يكون ظاهرًا في التعليمات البرمجية التي تقرؤها.

الواجهات الضمنيةكتابة شبيهة بـ duck typing، مع التحقق وقت الترجمة

يستوفي النوع متطلبات الواجهة بمجرد امتلاكه الأساليب الصحيحة؛ فلا حاجة إلى التصريح عن أي شيء. وهذا يحافظ على الترابط الضعيف بين الحزم، وهو أيضًا موضع إحدى المفاجآت الكلاسيكية في Go: فالواجهة التي تحتوي على مؤشر nil ليست nil بحد ذاتها.

ملف ثنائي واحد ومكتبة قياسية كبيرةلماذا يكون النشر بسيطًا

ينتج عن ترجمة Go ملف تنفيذي واحد، وتأتي حزم مثل net/http وencoding/json وdatabase/sql مع اللغة. وغالبًا لا تحتاج الخدمة الصغيرة إلى إطار عمل من جهات خارجية، وهذا أحد أسباب إمكانية أن تكون صور Docker لبرامج Go صغيرة.

الملاءمة

لمن يناسب — ولمن لا يناسب

يناسبك إذا كنت

  • تريد دورة Golang يمكنك متابعتها في جلسات قصيرة على الهاتف
  • تكتب بلغة أخرى بالفعل وتريد رؤية goroutines والقنوات وهي تعمل فعليًا
  • تستهدف وظائف backend أو cloud وتريد أسئلة مقابلات Go مع ملاحظات وتقييم بالدرجات
  • تتعلّم بصورة أفضل من التمارين الصغيرة وبطاقات الأخطاء الشائعة مقارنةً بمقاطع الفيديو الطويلة
  • تريد التحقق من التنسيق ونتائج vet وسباقات البيانات في الأكواد التي كتبتها بنفسك

ليس الأداة المناسبة لك إذا كنت

  • تحتاج إلى تشغيل برامج تستورد net/http أو تستخدم generics في المشغّل داخل التطبيق، وهو بيئة Go 1.13 معزولة
  • تريد تشغيل الأكواد دون اتصال، لأن المشغّل يعمل عبر الإنترنت
  • تتوقع أن يكون كل شيء مجانيًا: الدورة الأولى وkata اليومية وحصة يومية من AI Mentor مجانية، بينما يفتح Pro بقية المحتوى
  • تحتاج إلى إنشاء خدمة كبيرة متعددة الحزم وشحنها، وهو ما يزال يتطلب حاسوبًا محمولًا ومجموعة الأدوات الكاملة

الأسئلة

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

ما أفضل طريقة لتعلّم Golang على الهاتف؟

تتفوّق الدروس القصيرة مع تشغيل الأكواد فعليًا على القراءة وحدها، وتكافئ Go تشغيل الأشياء لأن أفضل ميزاتها، مثل goroutines وكاشف السباقات، سلوكية. يجمع تعلم Go: دورة برمجة بين دروس تستغرق بضع دقائق ومحرّر وkata يومية وConcurreny Lab. ويمكنك البدء مجانًا على iOS وAndroid، مع 51 دورة مرتبة من المبتدئ إلى المتقدم.

هل يمكنك ترجمة كود Go وتشغيله على هاتفك؟

نعم، مع توفّر اتصال بالإنترنت. يرسل تعلم Go: دورة برمجة برنامجك إلى مشغّل Go ويعرض الناتج، كما يوفّر المشغّل نفسه gofmt وgo vet وكاشف السباقات. لا يُنفَّذ الكود على الهاتف نفسه، لذلك تحتاج إلى الاتصال بالإنترنت عند الضغط على زر التشغيل، وللمشغّل حدود، مثل سعة ذاكرة صغيرة وحجم ثنائي أقصى.

هل يدعم المشغّل داخل التطبيق generics؟

ليس في الوقت الحالي. المشغّل في تعلم Go: دورة برمجة هو Go 1.13، بينما ظهرت generics في Go 1.18، لذلك لن يُترجم هناك أي برنامج يستخدم معاملات الأنواع أو الكلمة المفتاحية any. يوضح التطبيق ذلك بلغة بسيطة عند حدوثه ويقترح الصيغة الأقدم. ولا يزال درس generics نفسه متاحًا للقراءة.

ما كاشف سباقات Go، وكيف يستخدمه التطبيق؟

يُبلغ كاشف السباقات عن لمس goroutines لذاكرة واحدة من دون قفل بينهما، وهو خطأ لا يظهر إلا في بعض الأحيان. في تعلم Go: دورة برمجة، يشغّل Concurrency Lab ألغازًا مثل عدّاد تحدّثه 200 goroutines تحت إشراف الكاشف، ويتيح لك إضافة mutex ثم التشغيل مجددًا. ويمكنك أيضًا لصق كود goroutine الخاص بك وتشغيله تحت إشراف الكاشف.

ما هي kata في Go؟

kata هي تمرين صغير ومركّز تحلّه باستخدام الكود، مثل عكس سلسلة نصية بصورة صحيحة للنصوص غير ASCII، أو تغليف خطأ بحيث يظل errors.Is قادرًا على العثور عليه. يقدّم تعلم Go: دورة برمجة kata يومية جديدة، ويفحص دالتك مقابل جدول من الحالات يتضمن حالات مخفية، ثم يشرح الأسلوب بعد ذلك. kata اليومية مجانية للجميع.

هل أحتاج إلى خبرة في البرمجة للبدء؟

لا. يبدأ تعلم Go: دورة برمجة بشرح ماهية Go وسبب وجودها، ثم ينتقل إلى المتغيرات والأنواع وتدفّق التحكم، ويشرح كل مفهوم بلغة بسيطة قبل تطبيقه. تساعدك الخبرة بلغة أخرى على التقدّم بسرعة أكبر في الدورات الأولى، لكن الدورة الأولى مكتوبة لمن يبدأ من الصفر.

هل Learn Go مجاني؟

التطبيق مجاني للتنزيل. الدورة الأولى مجانية، وكذلك kata اليومية وحصة يومية من AI Mentor وفحوصات gofmt غير المحدودة وعمليات التشغيل غير المحدودة تحت كاشف السباقات وعدد قليل من عمليات go vet يوميًا. يفتح Pro جميع الدورات ويزيل الإعلانات ويوفّر AI Mentor غير محدود ويفتح مكتبة kata وتحليل الهروب.

هل توجد شهادة في النهاية؟

نعم. يمنحك اجتياز الاختبار النهائي شهادة إتمام للدورة. تُظهر الشهادة العمل الذي أنجزته، وتناسب وجود مشروع صغير يمكنك شرحه في مقابلة، لكنها ليست مؤهلًا أكاديميًا معتمدًا.

هل يساعد Learn Go في التحضير لمقابلات Golang؟

نعم. تطرح المقابلة التجريبية خمسة أسئلة على مستوى المبتدئ أو المتوسط أو المتقدم، بدءًا من الفرق بين الشرائح والمصفوفات ووصولًا إلى ما تحتفظ به قيمة الواجهة أثناء التشغيل، ثم تقيّم إجاباتك مع تقديم ملاحظات. وتدرّب بطاقات Go Recall على الأخطاء الشائعة، وتُضاف الموضوعات الضعيفة التي تظهر في المقابلة إلى مجموعة المراجعة الخاصة بك. وتتوفر مقابلة واحدة مُقيّمة أسبوعيًا مجانًا.

ما المنصات واللغات التي يدعمها؟

يعمل تعلم Go: دورة برمجة على iOS عبر App Store وعلى Android عبر Google Play، كما تتوفر واجهته بـ 22 لغة. وتصنيفه 4+، لذا لا توجد أي مواد مقيّدة بحسب العمر.

ابدأ الآن

اكتب أول goroutine لك اليوم

ابدأ مجانًا على iOS وAndroid، وبـ 22 لغة.

App Store — تنزيل مجانيGoogle Play — تنزيل مجاني
آخر مراجعة · من نشر CoddyKit · سياسة الخصوصية
متاح على iOS و Android.