جو Go هي لغة برمجة حديثة ذات قواعد syntax عالية المستوى على غرار لغات البرمجة النصية مثل بايثون وروبي وجافاسكربت، وقد طوّرتها شركة جوجل Google في عام 2007 لتكون ملائمة لنوعية احتياجات جوجل الحسابية من حيث التصريف compilation السريع وسهولة البرمجة والتنفيذ الفعّال. تعتبر جو لغة بسيطة جدًا من ناحية القواعد، فعدد الكلمات المفتاحية بها والأنواع الأساسية فيها ضئيل مقارنة بباقي اللغات، كما أنها تقلل كثيرًا من فكرة وجود طرق متعددة لتنفيذ مهمة ما، حتى أنها لا تحتوي على حلقة while وتقتصر فقط على حلقة for مما يجعل هذه اللغة سهلة التعلم ومناسبة للمبرمجين الجدد والخبراء ويميّزها عن باقي اللغات. تعالج جو عمليات التزامن بشكل مبتكر، بالإضافة إلى توفير الأدوات اللازمة لبناء ثنائيات محلية native binaries (برامج تنفيذية executables أو مكتبات shared libraries) لاستخدامها في منصات وأماكن أخرى.
جو هي لغة برمجة متعددة الاستخدامات يمكن استخدامها في العديد من مشاريع البرمجة، إلا أنها مناسبة بشكل خاص لبرامج الشبكات والأنظمة الموزعة، ومن هذا المُنطلق اكتسبت لقب "لغة السحابة". تركز لغة جو على مساعدة المبرمجين من خلال تقديم مجموعة مميزة من الأدوات وجعل التنسيق جزءًا من مواصفات اللغة وتسهيل النشر عن طريق تحويل البرنامج إلى ملف تنفيذي.
ستتعلم في هذا المقال كيفية تثبيت جو على حاسب يعمل بنظام ماك وإعداد مساحة عمل برمجية خاصة بك من خلال سطر الأوامر لبدء العمل مع جو.
المتطلبات
ستحتاج إلى حاسب يعمل بنظام ماك macOS مع إمكانية وصول إدارية administrative access واتصال بالإنترنت.
الخطوة 1 - فتح الطرفية Terminal
سننجز عملية التثبيت والإعداد من خلال سطر الأوامر command line وهو معروف أيضًا باسم الصدَفة shell وهو وسيلة تخاطب مع الحاسوب عبر كتابة الأوامر له والذي يُمكّنك من تعديل وأتمتة العديد من المهام التي تقوم بها على جهاز الحاسوب كل يوم وهو أداة أساسية لمطورِي البرامج.
تُعَدّ طرفية نظام ماك تطبيقًا يمكنك استخدامه للوصول إلى واجهة سطر الأوامر، ومثل أي تطبيق آخر يمكنك العثور عليه بالذهاب إلى Finder ثم الانتقال إلى مجلد التطبيقات Applications ثم إلى مجلد الأدوات المساعدة Utilities، وانقر بعد ذلك نقرًا مزدوجًا فوق أيقونة الطرفية.
يمكنك أيضًا العثور على الطرفية من خلال فتح Spotlight عن طريق الضغط باستمرار على مفتاحَي CMD + SPACE وكتابتها في المربع الذي يظهر.
هناك العديد من الأوامر الخاصة بالطرفية والتي يمكنك تعلّمها من مقال مدخل إلى طرفيّة لينكس Linux Terminal، وبعد فتح تطبيق الطرفية يمكنك تحميل حزمة أدوات المطورXcode وتثبيتها، إذ ستحتاجها لتثبيت جو.
الخطوة 2 - تثبيت Xcode
تُعَدّ Xcode بيئة تطوير متكاملة integrated development environment أو IDE اختصارًا، وتحتوي على أدوات تطوير البرامج لنظام ماك، كما يمكنك التحقق مما إذا كان Xcode مثبتًا بالفعل عن طريق كتابة ما يلي في الطرفية:
$ xcode-select -p
يعني الخرج التالي أنّ Xcode مُثبّت:
/Library/Developer/CommandLineTools
إذا تلقيت خطأً ما، فثبّت Xcode من متجر App Store واضغط على زر قبول الخيارات الافتراضية.
عُد إلى نافذة الطرفية بعد تثبيت Xcode، وبعد ذلك ستحتاج إلى تثبيت تطبيق أدوات سطر الأوامر Command Line Tools الذي يخص Xcode عن طريق كتابة الأمر التالي:
$ xcode-select --install
إلى هنا تكون قد ثبّت كل من Xcode وتطبيق Command Line Tools -أدوات سطر الأوامر الخاص به بالكامل، ويمكنك الآن تثبيت مدير الحزم Homebrew.
الخطوة 3 - تثبيت وإعداد Homebrew
على الرغم من احتواء طرفية نظام ماك على الكثير من الوظائف المفيدة مثل تلك الموجودة في أنظمة لينكس ويونكس، إلا أنها لا تحتوي على مدير حزم الذي يُعَدّ مجموعةً من الأدوات البرمجية التي تعمل على أتمتة عمليات التثبيت بما في ذلك التثبيت الأولي للبرامج وترقيتها وضبطها وإزالتها حسب الحاجة، كما يحتفظ بالحزم المثبَّتة في موقع مركزي وحسب التنسيقات الشائعة.
يزوِّد Homebrew نظام ماك بنظام إدارة حزمة برمجيات مجانية ومفتوحة المصدر يعمل على تبسيط عملية تثبيت الحزم على نظام ماك، كما يمكنك تثبيته من خلال تنفيذ الأمر التالي في الطرفية:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
كُتب Homebrew باستخدام لغة روبي Ruby، لذلك سيعدّل مسار Ruby على حاسبك، كما سيسحب الأمر curl
برمجيةً أو سكربتًا من عنوان URL المحدد وسيطبع لك هذا السكربت رسالةً تشرح فيها ما الذي ستفعله وستطلب منك الإذن لتنفيذ ذلك، إذًا ستوفر لك تلك الرسائل إمكانية معرفة ما الذي ستنفّذه البرمجية وستمنحك الفرصة للتحقق والموافقة على التنفيذ.
قد يتطلب تنفيذ الأمر إدخال كلمة المرور الخاصة بك، وفي هذه الحالة يجب أن تدرك أنّ ضغطات المفاتيح التي تُجرّبها لن تظهر في الطرفية (تُخفى أثناء كتابتها)، وبعد الانتهاء من كتابة كلمة المرور ما عليك سوى الضغط على مفتاح العودة، ففي حال لم تُطلَب منك كلمة المرور، فاضغط على المحرف y
( أي نعم yes) كلما طُلب منك ذلك لتأكيد عملية التثبيت.
فيما يلي بعض الرايات flags المرتبطة بالأمر curl
:
-
الراية
f-
أوfail--
تُخبر الطرفية بعدم تقديم مستند HTML عند حدوث أخطاء في الخادم. -
الراية
s-
أوsilent--
تُستخدَم لكتم الأمرcurl
، أي لن تظهر لك معلومات أثناء عملية التثبيت، وبالتالي لن تُظهِر لك مقياس التقدم، وعند دمج هذه الراية مع الرايةS-
أوshow-error --
، فسيُظهر لكcurl
رسالة خطأ في حالة الفشل. -
الراية
L-
أوlocation curl--
ستُخبِرcurl
بأنه عليه إعادة طلب العنوان من المكان الجديد في حال أبلغ الخادم عن انتقال الصفحة المطلوبة إلى موقع مختلف.
ضع مجلد Homebrew في قمة متغير البيئة PATH
بعد اكتمال عملية التثبيت، وذلك لضمان استدعاء عمليات تثبيت Homebrew بدلًا من الأدوات التي قد يحددها نظام macOS تلقائيًا والتي يمكن أن تتعارض مع بيئة التطوير التي نقوم بإنشائها.
يجب عليك إنشاء أو فتح ملف ~/.bash_profile باستخدام محرر نصوص سطر الأوامر nano من خلال الأمر nano
:
$ nano ~/.bash_profile
اكتب الأمر التالي بعد فتح الملف في الطرفية:
export PATH=/usr/local/bin:$PATH
اضغط الآن باستمرار على مفتاح CTRL + o لحفظ التغييرات، وعندما يُطلب منك ذلك اضغط على مفتاح RETURN، كما يمكنك الآن الخروج من nano بالضغط على مفتاحي CTRL + x.
نشِّط هذه التغييرات عن طريق تنفيذ الأمر التالي:
$ source ~/.bash_profile
بذلك ستدخل التغييرات التي أجريتها على متغير البيئة PATH
حيّز التنفيذ، كما يمكنك التأكد من تثبيت Homebrew بنجاح عن طريق كتابة ما يلي:
$ brew doctor
إذا لم تكن هناك حاجة إلى إجراء عمليات تحديث، فستحصل على الخرج التالي:
Your system is ready to brew.
بالنسبة لعمليات التحديث التي قد تُطالب بها، فربما تكون تحذيرًا لتشغيل أمر آخر مثل brew update
، وذلك للتأكد من أنّ تثبيت Homebrew الخاص بك بدوره محدث.
بعد تجهيز Homebrew يمكنك تثبيت جو.
الخطوة 4 - تثبيت جو
يمكنك البحث عن جميع الحزم المتاحة عن طريق Homebrew من خلال الأمر brew search
، وهنا ستبحث عن الحزم أو الوحدات المتعلقة بجو:
$ brew search golang
ملاحظة: لم يُستخدم في هذا المقال بحث brew باستخدام كلمة go، أي أننا لم نكتب brew search go
لأنه يُعيد عددًا كبيرًا جدًا من النتائج، فكلمة go
عبارة عن كلمة صغيرة وتتطابق مع العديد من الحزم، وبالتالي أصبح من الشائع استخدام كلمة golang
على أساس مصطلح بحث، كما تُعَدّ هذه ممارسة شائعةً عند البحث على الإنترنت عن مقالات متعلقة بجو أيضًا، وقد وُلِد مصطلح Golang من عنوان موقع اللغة الرسمي golang.org.
سيكون الخرج قائمةً من الحزم والوحدات المتعلقة بلغة جو كما ذكرنا:
golang golang-migrate
يمكنك الآن تثبيت لغة جو عبر تنفيذ الأمر التالي:
$ brew install golang
ستعطيك الطرفية ملاحظات تتعلق بتثبيت جو، وقد يستغرق التثبيت بضع دقائق قبل اكتمال التثبيت.
اكتب ما يلي للتحقق من إصدار جو الذي ثبّته:
$ go version
سيطبع الأمر السابق الإصدار المُثبت لديك من جو وسيكون الإصدار الحديث والمستقر.
يمكنك لاحقًا تحديث جو من خلال تنفيذ الأوامر التالية لتحديث Homebrew ثم تحديث جو:
$ brew update
$ brew upgrade golang
سيحدِّث الأمر الأول صيغة Homebrew نفسها، وبالتالي ضمان حصولك على أحدث المعلومات للحزم التي تريد تثبيتها؛ أما الأمر الثاني فسيُحدّث الحزمة golang
إلى أحدث إصدار متوفر.
من الممارسات الجيدة التأكد من أن إصدار جو المُثبت على جهازك مُحدّث أي لديك أحدث إصدار، وذلك من خلال الاطلاع على أحدث الإصدارات الجديدة وتحديثه بما يتوافق معها.
بعد تثبيت جو أصبحت جاهزًا لإنشاء مساحة عمل لمشاريع جو الخاصة بك.
الخطوة 5 - إنشاء مساحة العمل الخاصة بك لبناء مشاريع جو
الآن يمكنك المتابعة وإنشاء مساحة عمل البرمجة الخاصة بك بعد أن ثبّتََ Xcode و Homebrew و Go.
ستحتوي مساحة العمل على مجلدَين في جذرها:
- src: ستوضع فيه ملفات جو المصدرية، وهي الملفات التي تُكتَب وتُنشأ باستخدام لغة جو، كما يستخدِمها مُصرِّف جو لإنشاء ملفات قابلة للتنفيذ (ملفات ثنائية يمكن تشغيلها على نظامك لتنفيذ المهام التي تتضمنها).
- bin: ستوضع فيه الملفات القابلة للتنفيذ التي أنشئت وثبِّتت بواسطة أدوات جو، وبعبارة أخرى هي البرامج التي تم تصريفها بواسطة الشيفرة المصدرية الخاصة بك أو غيرها من الشيفرة المصدرية المرتبطة بجو والتي جرى تحميلها.
من المحتمل أن يحتوي المجلد src على عدة مستودعات للتحكم في الإصدارات مثل Git و Mercurial و Bazaar، ويسمح لك هذا باستيراد أساسي canonical import للشفرة في مشروعك، إذ يُعَدّ الاستيراد الأساسي عملية استيراد تشير إلى حزمة مؤهلة وجاهزة بالكامل مثل github.com/digitalocean/godo.
سترى مجلدات مثل github.com أو golang.org عندما يستورد برنامجك مكتبات خارجية، فإذا كنت تستخدم -أو لديك- شيفرات برمجية على إحدى المواقع مثل GitHub، فستضع أيضًا هذه المشاريع أو ملفات المصدر ضمن هذا المجلد وستتعرّف على ذلك بعد قليل.
ستبدو مساحة العمل النموذجية كما يلي:
. ├── bin │ ├── buffalo # أمر تنفيذي │ ├── dlv # أمر تنفيذي │ └── packr # أمر تنفيذي └── src └── github.com └── digitalocean └── godo ├── .git # البيانات الوصفية لمستودع جيت ├── account.go # ملف الحزمة ├── account_test.go # اختبار ملف الحزمة ├── ... ├── timestamp.go ├── timestamp_test.go └── util ├── droplet.go └── droplet_test.go
بدءًأ من الإصدار 1.8 يُعَدّ المجلد الافتراضي لمساحة العمل في جو هو المجلد الرئيسي home directory للمستخدِم الذي يحتوي على مجلد فرعي باسم go أي HOME/go$، فإذا كنت تستخدِم إصدارًا أقدم من 1.8، فمن الأفضل الاستمرار في استخدام الموقع HOME/go$ لمساحة عملك.
نفِّذ الأمر التالي لإنشاء بنية مجلد لمساحة العمل الخاصة بك في جو:
$ mkdir -p $HOME/go/{bin,src}
يطلب الخيار p-
من mkdir
إنشاء جميع العناصر الرئيسية parents في المجلد حتى لو لم تكن موجودة حاليًا، كما يؤدي استخدام {bin,src}
إلى إنشاء مجموعة من الوسائط لـ mkdir
وإخباره بإنشاء كل من مجلدَي bin و src.
سيؤدي ذلك إلى إنشاء بنية المجلد التالية:
└── $HOME └── go ├── bin └── src
سابقًا أي قبل الإصدار 1.8 كان يجب عليك استخدام متغير بيئة محلي يسمى GOPATH$
من أجل تحديد المكان الذي يمكن للمترجم فيه العثور على الشيفرة المصدرية المطلوب استخدامها في مشروعك، سواءً كانت الشيفرة محلية أو على موقع استضافة خارجي، وتُعَدّ هذه الطريقة جيدةً أكثر كما أن بعض الأدوات مازالت تعتمد على استخدامه ولكن لم يعد يُطلب ذكر متغير البيئة ذاك صراحة.
يمكن ضبط المتغير GOPATH$
الخاص بك من خلال إضافة المتغيرات العامة إلى bash_profile./~.
أولًا، افتح bash_profile./~ باستخدام nano أو محرر النصوص المفضل لديك:
$ nano ~/.bash_profile
اضبط المتغير GOPATH$
الخاص بك من خلال إضافة ما يلي إلى الملف:
export GOPATH=$HOME/go
عندما يُصرّف ويثبّت جو الأدوات، فإنه سيضعها في المجلد GOPATH/bin$، ومن الشائع إضافة المجلد الفرعي bin/ الخاص بمساحة العمل إلى PATH في bash_profile./~:
export PATH=$PATH:$GOPATH/bin
أضف الآن ما يلي إلى ملف bash_profile./~:
export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin
سيسمح لك ذلك بتشغيل أية برامج تصرفها أو تحملها عبر أدوات جو في أيّ مكان على نظامك.
نفّذ الأمر التالي لتحميل المتغيرات العامة وتحديث الصدَفة:
$ . ~/.bash_profile
يمكنك يمكنك التحقق من تحديث المتغير PATH$ باستخدام الأمر echo
وقراءة الخرج:
$ echo $PATH
ستشاهد GOPATH/bin$ الذي سيظهر في مجلد home، فإذا سجلت الدخول على أساس مستخدِم عادي وليكن sammy، فسترى /Users/sammy/go/bin في المسار:
/Users/sammy/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
الآن بعد أن أنشأت المجلد الجذر لمساحة العمل وضبطت مجموعة متغيرات البيئة GOPATH$
الخاصة بك، أصبح بإمكانك إنشاء مشاريعك باستخدام بنية المجلد التالية، كما يفترض هذا المثال أنك تستخدِم موقع Github لاستضافة مشروعك:
$GOPATH/src/github.com/username/project
إذا كنت تعمل على مشروع https://github.com/digitalocean/godo مثلًا، فستخزنه في المجلد التالي:
$GOPATH/src/github.com/digitalocean/godo
ستجعل بنية المشاريع هذه الوصول إلى هذه المشاريع متاحًا باستخدام أداة go get
، كما أنها ستساعدك أيضًا في عمليات القراءة، إذ يمكنك الوصول مثلًا إلى مكتبة godo
من خلال الأمر السابق كما يلي:
go get github.com/digitalocean/godo
يمكنك أيضًا التحقق من نجاح عملية التحميل من خلال عرض محتويات المجلد:
ls -l $GOPATH/src/github.com/digitalocean/godo
يجب أن تشاهد خرجًا يشبه الخرج التالي:
Output -rw-r--r-- 1 sammy staff 2892 Apr 5 15:56 CHANGELOG.md -rw-r--r-- 1 sammy staff 1851 Apr 5 15:56 CONTRIBUTING.md . . . -rw-r--r-- 1 sammy staff 4893 Apr 5 15:56 vpcs.go -rw-r--r-- 1 sammy staff 4091 Apr 5 15:56 vpcs_test.go
بذلك تكون أنشأت مساحة عمل خاصة بك وضبطت متغيرات البيئة اللازمة، وفي الخطوة التالية سنختبر مساحة العمل هذه من خلال كتابة شيفرة برنامج بسيط.
الخطوة 6 - إنشاء برنامج بسيط
ستنشئ برنامج "Hello, World!" بغية اختبار مساحة العمل والتعرف أكثر على جو، إذ ستنشئ هنا ملفًا مصدريًا واحد لجو وليس مشروعًا متكاملًا، لذا لا داعي لأن تكون ضمن مساحة العمل الخاصة بك لإنجاز ذلك.
افتح محرر نصوص سطر الأوامر nano من المجلد الرئيسي وأنشئ ملفًا جديدًا:
$ nano hello.go
اكتب برنامجك في الملف الجديد:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
ستستخدِم هذه الشيفرة حزمة fmt وستستدعي الدالة Println
لطباعة عبارة Hello, World! التي مُرِّرت إلى الدالة.
اخرج الآن من المحرر nano بالضغط على مفتاحي CTRL+ x وعند مطالبتك بحفظ الملف اضغط على y ثم ENTER، وبمجرد الخروج من nano والعودة إلى الصدَفة شغّل برنامج hello.go الذي أنشأته:
go run hello.go
سترى الخرج التالي:
Hello, World!
يكون بذلك اختبار مساحة العمل الخاصة بك قد أكتمل.
خاتمة
تهانينا، لقد أنشأت مساحة عمل خاصة بك لكتابة الشيفرات البرمجية وإنشاء المشاريع بلغة جو على جهاز يعمل بنظام تشغيل ماك.
ترجمة -وبتصرُّف- للمقال How To Install Go and Set Up a Local Programming Environment on macOS لصاحبه Gopher Guides.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.