الأساسيات

التحضير لمشروع جديد (التعرف على لغة غو)

  • ماهي لغة البرمجة غو Go أو اختصاراً (GoLang) ؟

لغة غو (Go Lang) هي لغة ثابتة الأنواع Statically-typed, ذات مجمّع نفايات تلقائي Garbage-collected, يجري تجميعها Compiled إلى لغة الآلة Native, وتركّز على المعالجة المتوازية Concurrency بشكل قوي ومدعوم ولذلك نلحظ تميزها في مجال الخوادم Servers.

 

عند تنصيب لغة غو على حاسوبك, يتم انشاء مجلد في /usr/local/go اذا كنت تستخدم لينوكس
او c:\go اذا كنت تستخدم ويندوز
حيث يكون في هذا المجلد جميع الملفات اللازمة لعمل الـCompiler وغيره من دوال ومكتبات لغة غو القياسية Standard Go Libraries
ويكون مسار هذا المجلد محفوظ في متغيرات البيئة في نظامك تحت اسم GOROOT
اي في حال اخترت تنصيب لغة غو في مسار آخر, عليك تعديل قيمة متغير البيئة المسمى GOROOT لتعمل ملفات اللغة بالشكل الصحيح

– بيئة عمل غو Go Workspace

يمكنك انشاء ملف يحتوي الاكواد المصدرية المكتوبة بلغة غو Go Source Code File في أي مكان ما في نظامك
ويجب أن تكون لاحقة الملف .go
فمثلاً في الامثلة القادمة عندما ننشئ برنامج صغير يقوم بطباعة Hello World بلغة غو فسيكون اسم الملف hello.go
ومن موجه الاوامر cmd او Terminal سنكتب الامر التالي لتشغيل البرنامج
go run hello.go
(بيئة العمل Workspace) هي الطريقة التي تتبعها لغة غو في تنظيم الملفات والبرامج المكتوبة بها .
وبكل بساطة, بيئة العمل هي عبارة عن مجلد محدد حيث يكون فيه ملفاتك البرمجية بلغة غو وحيث يتم إدارة الـDependency Packages وحيث يتم انشاء الملفات التنفيذية Excutable Binary

عند استيراد مكتبات داخل برنامجك من خلال import , يتم البحث عن أولاً في مكتبات غو القياسية الموجودة في المسار $GOROOT/src , واذا لم يتم العثور عليها
فيتم البحث داخل بيئة العمل, وهي فعلياً مشار اليها من خلال متغير البيئة المسمى $GOPATH/src

ويمكن ان يكون لديك عدة بيئات عمل Workspace بشرط ان تتاكد ان متغير البيئة GOPATH يشير الى مسار بيئة العمل التي تعمل بها حالياً

– بنية مسار “بيئة العمل”

داخل مجلد/مسار بيئة العمل Workspace لدينا 3 مجلد مسماة src, bin, pkg

مجلد src : ويحتوي على الحزم Packages, والحزمة هي مسار المشروع Project Directory الذي تعمل عليه حيث يوجد ملفات الاكواد المصدرية .go
و أي حزم يتم جلبها باستخدام الامر go get (الذي سنتعرف عليه لاحقاً بالتفصيل) بالإضافة الى الحزم المعتمد عليها dependency packages

في لغة غو, كل برنامج محتوى في حزمة, ولذلك كلما اردت انشاء مشروع جديد عليك انشاء مجلد جديد في المسار $GOPATH/src والبدأ من هنالك .

مجلد bin : الملفات التي تكتبها بلغة غو إما ان تكون ملفات تنفيذية أي برامج تستخدم بحد ذاتها وإما ان تكون مكتبات وملفات مساعدة لبرامج اخرى,
فمثلاً اذا كنت قد كتبت برنامج ليقوم بالاتصال بالشبكة او برنامج آلة حاسبة او برنامج مثل hello world, يجب ان يتم تركيبه أولاً Compile حتى يستطيع جهازك فهم التعليمات والاوامر
فبعد كتابة البرنامج بملف ذو صيغة .go ووضعه بمجلد الـsrc, عليك تشغيل الامر go build somefile.go , عندها يقوم المركّب Compiler بعمله وينتج لك ملف تنفيذي Excutable Binary ويضعه في مجلد bin
او اذا كان برنامج يحتوي على عدة ملفات .go ضمن حزمة واحد go build mypackage مثلاً .

ويوجد 3 أوامر متشابهة لعمل الكومباير وهي go run, go install, go build
وسنتعرف للفروقات بينها لاحقاً اما كبداية سنستخدم go build و go run

ويوجد لدينا متغير بيئة آخر يشير لمسار مجلد bin يدعى GOBIN ولكن يُفضل أن يُترك كما هو بدون تعديل

مجلد pkg : هو مجلد شبيه بالارشيف حيث يوضع فيه نسخة من الملفات التنفيذية, سيتم شرحه لاحقاً بالتفصيل .

 

 

و كتلخيص سريع, عند بدأ مشروع جديد عليك الآتي :

1- انشاء مجلد للمشروع ومن ثم تعديل قيمة متغير البيئة GOPATH ليشير اليه .
2- انشاء ثلاثة مجلدات في مسار المشروع بالاسماء التالية src,bin,pkg
3- كتابة ملفاتك البرمجية وحفظها بلاحقة .go ووضعها في مجلد src
4- من خلال موجه الاوامر, شغّل اوامر بدأ عمل المركّب Compiler .
5- التوجه للمجلد bin حيث يكون الناتج النهائي لبرنامجك القابل للتشغيل Exe

ملاحظة: يمكنك تشغيل أكواد وأمثلة لغة غو من خلال GoLang Playground أو GoPlay.Space .

نبذة عن الكاتب

Firas M. Darwish

Software Engineer, PHP/Laravel, C#, GoLang, founder of ArGoLang.com & others ..

شاركنا رأيك :)