دليل Golang التعليمي - قائمة الدورات المجانية لتعلم لغة برمجة Go

لماذا تختار Go؟ قبل أن أدخل إلى قائمة موارد التعلم Go ، دعني أخبرك عن أحد أشهر الانشقاقات في تاريخ البرمجة.

كان هناك مطور في Node.js كان غزير الإنتاج لدرجة أن الكثير من الناس اعتقدوا أنه ليس شخصًا حقيقيًا. لقد افترضوا أنه كان في الواقع مجموعة من المطورين يعملون تحت اسم واحد.

كان هذا المطور TJ Holowaychuk. قام بتأليف العديد من حزم npm الأكثر استخدامًا ، وساهم في مكتبات JavaScript الرئيسية.

لكنه كان بالفعل شخصًا حقيقيًا. وفي أحد الأيام من عام 2014 ، قرر ترك مجتمع Node للتركيز على Go.

جلس كثير من الناس على مقاعدهم. اذهب؟

نعم. اذهب.

وصلت اللغة إلى مستوى الوعد حتى أن بعض المطورين الأكثر نفوذاً كانوا يتجهون نحوها.

احتضن مجتمع Go TJ بأذرع مفتوحة.

فلماذا قد يفضل مطور كهذا البساطة النسبية والصياغة المباشرة لـ Go على لغات النهاية الخلفية البديلة؟

بالنسبة للأشخاص مثلي ممن تعلموا بأنفسهم ، قدم Go فرصة رائعة للتعمق في مجالات مختلفة من علوم الكمبيوتر وهندسة الأنظمة.

Go مشابه لـ C ، ولكن مع أمان الذاكرة ووقت تشغيل للتزامن المدمج. وفي هذا الصدد ، فإنه "أقرب إلى المعدن" ، إذا جاز التعبير ، عندما يتعلق الأمر بالتفاعل مع العناصر الأساسية العامة التي تكمن وراء أنظمة التشغيل.

أنا الآن أقوم ببناء أنظمة موزعة بشكل أساسي. قبل تعلم Go ، كانت خلفيتي - مثل TJ - بشكل أساسي في Node و JavaScript. تقوم Node بالعديد من الأشياء بشكل جيد ، ولكن ليس التزامن. ولم تعد Node هي الأداة المفضلة لأولئك الذين يعملون على الأنظمة الموزعة. بدلاً من ذلك ، أصبحت Go هي لغة الانتقال.

اذهب كلغة

Go هي لغة مجمعة مكتوبة بشكل ثابت تشتهر ببساطتها وبساطتها. إنه يعالج المزالق الشائعة لـ C مع الحفاظ على أدائه وقابلية التشغيل البيني.

على الرغم من هذه البساطة ، فإن Go - في جوهرها - مصمم للتعامل مع التزامن. وهي تعاني من التعقيد الذي ينطوي عليه ذلك.

Go هو أيضًا اصطلاحي تمامًا ، مما يجعل أفضل الممارسات بعيد المنال قليلاً.

واحدة من أكثر ميزات Go جاذبية هي سهولة البدء. غالبًا ما يكافح المتعلمون لاختيار الموارد من بين الآلاف المتاحة.

مع أخذ ذلك في الاعتبار ، إليك بعض الاقتراحات ذات الرأي حول من أين تبدأ.

الكتاب الموصى به: Essential Go

Essential Go Essential احصل على كتاب برمجة Go مجاني

يوفر Essential Go نظرة عامة شاملة على اللغة. إنه مورد ممتاز للمبتدئين والمتعلمين المتوسطين على حد سواء.

يغطي بعمق هياكل البيانات الأساسية للغة.

يشرح أيضًا التزامن و Goroutines ، ويعطي نظرة ثاقبة على أفضل الممارسات الاصطلاحية.

الكتاب الموصى به: The Little Go Book

The Little Go Book مجاني للتنزيل ، The Little Go Book هو مقدمة للغة برمجة Google Go

خيار آخر جيد لمن يبحثون عن البدء بسرعة.

يغطي كتاب Little Go الأساسيات. قد يكون قديمًا ، لكن الأساسيات التي يغطيها لم تتغير.

الدورة الموصى بها: Learn Go Programming

الغوص الشامل لمدة 7 ساعات في freeCodeCamp في Go. من الأفضل تناوله في مجموعات ، فهو مورد ممتاز للمبتدئين.

يجعل محتوى الدورة التدريبية أيضًا مفيدًا لمبرمجي Go المتوسطين الذين يرغبون في تلخيص مواضيع مختلفة.

أداة الممارسة الموصى بها: تعلم الذهاب مع الاختبارات

quii / Learn-go-with-tests Learn Go مع التطوير المستند إلى الاختبار. ساهم في تطوير quii / Learn-go-with-tests التطوير من خلال إنشاء حساب على GitHub. quii جيثب

أفضل طريقة للبدء هي البدء في كتابة التعليمات البرمجية.

Learn Go With Tests هو مقدمة رائعة لتعلم خصوصيات وعموميات اللغة.

مدونة مقترحة: مدونة Go Programming Language

إن Go Programming Language Go هي لغة برمجة مفتوحة المصدر تجعل من السهل إنشاء برامج بسيطة وموثوقة وفعالة.

هذا هو المصدر الفعلي للمعلومات عن الميزات الجديدة وأفضل الممارسات في Go.

تحتوي هذه المدونة على مجموعة ممتازة من الموارد للمطورين.

يتم وصف الميزات الجديدة وأفضل الممارسات وأنماط Go بالتفصيل هنا.

التوثيق الموصى به: GoDoc

//godoc.org/

GoDoc هو المورد الأكثر استخدامًا بواسطة مطوري Go.

إنه مصدر واحد لجميع الوثائق في المكتبة القياسية وحزم الطرف الثالث.

يتم تشجيع المتعلمين على الإشارة إلى هذا الموقع على أنه منفذ الاتصال الأول.

بمجرد أن تتقن أساسيات Go ، سيكون هذا هو المورد الوحيد الذي تحتاجه.

يوصى بالقراءة: مواصفات لغة Go

أخيرًا ، يعد الدليل المرجعي لـ Go مصدرًا رائعًا للمعلومات للأسئلة التي ستطرحها عند اختيار الأشياء.

كما هو الحال مع أي لغة برمجة ، ستحتاج إلى كتابة التعليمات البرمجية لتحسينها. جو مرن ولديه مجموعة متنوعة من التطبيقات.

ابحث عن مشروع يثير اهتمامك واستخدم Go ، واستخدم GoDoc بشكل خاص أثناء تقدمك. مكان جيد للبدء هو //tour.golang.org.