غو (لغة برمجة)

لغة برمجة

غو (بالإنجليزية: GO)‏ هي لغة برمجة مفتوحة المصدر من تطوير شركة جوجل. التصميم الأول للغة كان عام 2007 على يد روبرت غريسيمر وروب بايك وكِن ثومبسون. تم الإعلان رسمياً عن اللغة في نوفمبر 2009، مع تطبيقات صدرت لنظام التشغيل لينُكس وماك. وقت صدورها، لم تعتبر جاهزة ليتم تبنيها في بيئات الإنتاج. في مايو 2010 صرح روب بايك علناً بأنه يتم استخدام اللغة لبعض الأمور المهمة في أنظمة جوجل.

غو
الشعار
معلومات عامة
التصنيف
التنميط
ظهرت في
10 نوفمبر 2009[2][3] عدل القيمة على Wikidata
صممها
نظام التشغيل
الرخصة
التطوير
المطور
الإصدار الأول
10 نوفمبر 2009 عدل القيمة على Wikidata
الإصدار الأخير
  • 1.22.2
    (3 أبريل 2024) عدل القيمة على Wikidata
التأثير
متأثرة بـ
متفرقات
امتدادات الملفات
go عدل القيمة على Wikidata
موقع الويب
go.dev[10] (الإنجليزية) عدل القيمة على Wikidata

تعريف

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

الشعبية

دخلت لغة غو فهرس تيوبي للغات البرمجة الأكثر شعبية وحصلت على المركز الخامس عشر، لغات أخرى مثل باسكال حصلت على المركز 25 في الأول من نوفمبر.

أمثلة

برنامج أهلا بالعالم باستخدام جو

package mainimport "fmt"func main() {fmt.Println("Hello, World")}

مثال آخر للبرمجة المتزامنة:

package mainimport ("fmt""time")func taskOne() {for i := 0; i < 10; i++ {time.Sleep(time.Second * 1)fmt.Println("task one in step : ", i)}fmt.Println("Task One is done")}func taskTwo() {for i := 0; i < 10; i++ {fmt.Println("task two in step: ", i)time.Sleep(time.Second * 1)}fmt.Println("Task tow is Done")}func main() {go taskOne()go taskTwo()time.Sleep(time.Second * 10)}

يحتوي هذا البرنامج على مهمتين. كل مهمة تتطلب 10 ثواني للإنهاء. ما مجموعه 20 ثانية. لكن المهمتين يتم تنفيذهما بالتزامن. لذلك لا يتطلب البرنامج أكثر من 10 ثواني لإتمام المهمتين.

مراجع