الجمعة، 30 ديسمبر 2011

تعلم لغة البرمجة Go بالعربي ( الدرس الثاني )

بسم الله الرحمن الرحيم

البرنامج الأول :

سنبدأ بالبرنامج المعروف في كل دروس البرمجة و هو "Hello,World":


package main

import "fmt" // fmt library for Println function



/* Hello World Program */



func main() {



fmt.Println("Hello World, مرحبا بك")



}


1. السطر الأول إلزامي في جميع النصوص البرمجية الخاصة باللغة و يستخدم لتعريف المكتبات التي يتم أنشاءها من قبل المبرمج و تكون كالتالي:

package <name of the package> //أسم المكتبية التي يتم أنشاءها

و في أغلب اﻷمثلة للبرامج العادية ستكون كمثالنا "Hello,World" , :

package main


2 .السطر البرمجي الثاني يحتوي على أستدعاء المكتبة البرمجية "fmt" التي تحتوي على الوظيفة "Println" الذي سنتخدمه في برنامجنا , و تحتوي لغة Go على عدد من المكتبات الخاصة بجميع الوظائف التي يحتاجها المبرمج , تلاحظ أننا قمنا بكتاب شرح للسبب أستدعاء المكتبة بعد "//"  و بهذه الطريقة تتمكن من كتابة التعليقات التي تسهل قراءة النص البرمجي .

3. السطر الثالث هو طريقة أخرى لكتابة التعليقات مشابهة للغة C , طبعاً سيتم تجاهل التعليقات عند ترجمة البرنامج .

4 . السطر الرابع التصريح عن الوظيفة "main" , و هي الوظيفة  الأساسية في البرامج المكتوبة في لغة Go , و متبوعة بالقوسين "{   } " الذين يحددان بداية و نهاية النص البرمجي التابع لهذه الوظيفة .

5 . السطر الخامس نقوم بأستدعاء الوظيفة "Println" من المكتبة fmt , لطباعة النص "مرحبا بك,Hello World" :

fmt.Println("Hello World,مرحبا بك")


تلاحظ هنا أننا أستطعنا الكتابة باللغة العربية بدون أستدعاء أي مكتبة خاص كما في لغة C , وذلك لأن لغة GO تدعم UTF , مما يعني أنك تستطيع الكتابة بأي لغة مباشرة .

  • ربط وترجمة البرنامج (Link and compiling the code) :
لترجمة النص البرمجي و تحويله إلى الصيغة التنفيذة بعد أن تقوم بحفظ النص البرمجي بأستخدام محرر النصوص مثل برنامج gedit بالأمتداد "go."  , قم من موجه الأوامر بتغير المجلد إلى المجلد المحتوي على النص البرمجي بأستخدام الأمر "cd" ثم نفذ هذه الأوامر :

8g hello.go

8l hello.8


في حالة نجاح ترجمة النص البرمجي سينتج ملف تنفيذ بأسم 8.out , و لتنفيذه قم بأستخدام اﻷمر التالي :

./8.out

و لتغير أسم الملف التنفيذي قم بتغير الأمر 8l كالتالي :

8l -o hello hello.8

و قد تم تعديل طريقة ترجمة البرنامج في الإصدارة الجديدة من لغة Go المسماة GO1 لتكون كالتالي ( من موجه الأوامر ) :

go bulid hello.go
 
 سينتج ملف تنفيذي بأسم "hello" .
 
  • أستدعاء أكثر من مكتبة في لغة Go

و اﻷن سنقوم بتعديل برنامج  Hello World ليطبع لنا قيمة PI بأستخدام المكتبة "math" كالتالي :

package main

import "math"

import "fmt"

func main(){

fmt.Println(math.Pi)

}



قمنا في هذا المثال بأستدعاء المكتبة "math" في السطر الثاني ثم أستدعاء القيمة Pi من المكتبة math ثم طباعتها بأستخدام الطريقة Println من المكتبة fmt .

تلاحظ أننا أستخدام طريقة مشابه "include"  في لغة السي لأستدعاء المكتبات , و لكن توفر لغة Go طريقة لتوفير الوقت , فبدل تكرار الكلمة المفتاحية "import" نستطيع أستخدام الكلمة المفتاحية "import" مرة واحدة فقط لأستدعاء أي عدد من المكتبات كالتالي :

package main

import ( "math"

 "fmt" )

func main(){

fmt.Println(math.Pi)

}


و يجب أن تتأكد من وضع كل أسم خاص بمكتبة في سطر جديد و بين علامتي تنصيص , و الأن قم بأعادة كتابة المثال السابق  كالتالي :

package main

import ( "math"

 "fmt" )

func main(){

fmt.Println("Hello,World!")

}


قم بترجمة المثال السابق بأستخدام المترجم , سيعرض لك المترجم الرسالة التالية :


math1.go:2: imported and not used: math

حيث أننا قمنا بأستدعاء المكتبة "math" بدون أستخدمها في النص البرمجي , و  هذا خطأ برمجي في لغة Go .



و هذا هي نهاية الدرس الثاني و في الدرس التالي أن شاء الله سوف تتعلم التصريح عن المتغيرات و التعامل معها .






هناك تعليق واحد: