blog

زبان برنامه نویسی GO

مقدمه:

GO یک زبان برنامه نویسی رویه ای است.درسال 2007 توسط رابرت گریسمر،راب پیک و کن تامپسون در گوگل توسعه داده شد اما در سال 2009 تحت عنوان زبان برنامه نویسی متن-باز راه اندازی شد. برنامه ها با استفاده از پکیج ها برای مدیریت کارآمد وابستگی ها گرد هم آمدند.

این زبان هم چنین از الگوهای سازگار با محیط مانند زبان های پویا پشتیبانی میکند به طور مثال(y:=0 عبارت صحیح از متغیر y نوع float یا اعشاری است)

شروع با زبان برنامه نویسی GO:

IDE های آنلاین مختلفی مثل GOplayground , rept و ... وجود دارد که می توانیم از آنها برای اجرای GO استفاده کنیم بدون اینکه آنها را نصب کنیم.

برای نصب GO روی کامپیوتر شخصی یا لپ تاپ ،ما نیاز به دو نرم افزار داریم:

ویرایشگر متن یا text editor

کامپایلر یا compiler 

ویرایشگر متن: text editor یا ویرایشگر متن یک سکویی را به شما میدهد که می توانید کدهای خود را در آن بنویسید.

در ادامه لیست ویرایشگرها را میبینید:

  • Windows notepad
  • OS Edit command
  • Brief
  • Epsilon
  • vm or vi
  • Emacs

 

پیدا کردن کامپایلر GO:توزیع GO به عنوان یک باینری قابل نصب برای FreeBSD ارائه  میشود.

linux,Macos X , سیستم عامل windows (نسخه های مختلف) برای دستور العمل های بیشتر برای نصب .لطفا لینک روبرو را برای اطلاعات بیشتر کلیک کنی.( For installing GO distribution)

نوشتن اولین برنامه در GO:

  package main   
import "fmt"   
}()func mian    
      prints geeksforgeeks//     
     ("fmt.Println("Hello,      
{    

خروجی:

Hello, developers

توضیحات syntax های GO:

خط اول:این پکیج اصلی برنامه را در برمیکرد که به طور کلی محتوای کلی برنامه را دارند.این یک نکته ابتدایی برای اجرای برنامه است پس نوشتن آن اجباری است.

خط دوم:این "import"fmt را در بر میگیرد، این یک فرمان پیش پردازنده یا preprocessor سات که به کامپایلر میگوید فایل های موجود در پکیج ها را شامل میشود

خط سوم:تابع اصلی است، شروع اجرای پکیج از اینجا رخ میدهد.

خط چهارم:()fmt.print یک کتابخانه استاندارد تابع است که چیزی را به عنوان خروجی در صفحه پرینت کند.

پکیج fmt متد print را که برای نشان دادن خروجی استفاده میشود انتقال میدهد.

کامنت یا comment:کامنتها  برای توضیح کدها  و به شیوه یکسان  در java,c++,c یا ... استفاده میشوند.

کامپایلرها کامنتها را رد میکنند و آنها را اجرا نمیکنند.کامنتها می توانند در یک لاین یا در لاین های مختلف باشند.

 single line comment// 
/* multiline comment */

در ادامه برنامه دیگر را بررسی میکنیم:

package main
"import "fmt
}()func main
   (fmt.Println("1 + 1 =", 1 + 1   
{

خروجی:

2=1+1

توضیح برنامه بالا:

در برنامه بالا،مواردی شبیه به برنامه قبلی است :خط package،خط import ، تابع و استفاده از همان تابع println همان طور که در برنامه قبل استفاده کردیم.این بار به جای پرینت کردن رشته hello developers  شرته دیگری را چاپ میکنیم که از سه بخش تشکیل شده است:عدد که از نوع int است که ما در اینجا از دو عدد استفاده کرده ایم ، مورد دیگر عملگر + است

مزایا و معایب زبان GO:

مزایا:

1)انعطاف پذیری:مختصر،ساده و برای خواندن راحت است

2)هم زمانی : GO اجازه میدهد چندین برنامه به طور هم زمان و موثر اجرا شوند.

3)خروجی سریع ،زمان تدوین(تلفیق) آن بسیار سریع است.

4)کتابخانه :کتابخانه استاندارد و پربار ارائه میدهد.

معایب:

1)پشتیبانی از موارد عمومی ندارد،حتی اگر بحث های زیادی در رابطه آن وجود داشته باشد

2)پکیج ها ی موجود با این زبان بسیار مفید هستند اما GO به طور مرسوم شی گرا (object oriented) نمی باشد.

3)عدم وجود برخی از کتابخانه ها به ویژه UI tool kit 

بعضی از اپلیکیشن های مرسوم که با GO نوشته شده اند:Docker,openshift,netflix,Golang Dropbox