بررسی کد برنامه !Hello World در Go

برای شروع و آشنایی با زبان Go بهتر است برنامه !Hello World را مورد بررسی قرار دهیم. درک اجزای اصلی کد برنامه مانند package main ذهن شما را نسبت به دیگر اجزا آماده می کند.

package main

برنامه ای که در زیر نوشته شده است متن !Hello World را در خروجی چاپ می کند.

package main

import "fmt"

func main(){

    fmt.Println("Hello World!")

}

  • package main
package main

import "fmt"

func main(){

    fmt.Println("Hello World!")

}

همان طور که می بینید از کلمه package استفاده شده است، package یک keyword در زبان Go است.

keyword چیست؟

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

در تصویر زیر میتوانید کلمه کلیدی های زبان Go را مشاهده کنید.

package main

keyword package چیست؟

package درواقع بسته ای است که کدهای یک برنامه و آدرس package های دیگر را داخل خود نگهداری می کند. برنامه های Go معمولا با پیوستن یک یا چند package به همدیگر ساخته می شوند.

چرا Go از package استفاده میکند؟

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

package main چیست؟

کلمه main هم از قبل، در زمان طراحی زبان Go تعریف شده است. package main نقطه شروع برنامه شما می باشد و compiler گو، تنها فایلی را کامپایل می کند که نام package آن main است.


  • “import “fmt
package main

import "fmt"

func main(){

    fmt.Println("Hello World!")

}

همان طور که می بینید از کلمه import استفاده شده است، import یک keyword در زبان Go است.

keyword import چیست؟

import صرفا برای واردات بسته داخل package مورد استفاده قرار میگیرد. زمانی که package را داخل بسته خود وارد می کنیم، موجودیت های واجد شرایط package، در دسترس قرار میگیرند.

“import “fmt چیست؟

fmt نام یکی از بسته های استاندارد زبان Go است که بعد از نصب زبان Go در اختیار شما قرار میگیرد. برای فراخوانی یک package احتیاج است تا نام package را داخل double quotation در جلوی import قرار دهید.

package fmt چیست؟

package است که ورودی و خروجی را در خط فرمان قالب بندی می کند.


  • { }( )func main
package main

import "fmt"

func main(){

    fmt.Println("Hello World!")

}

همان طور که میبینید از کلمه func استفاده شده است، func یک keyword در زبان Go است.

Keyword func چیست؟

func در زبان Go نام نوع تابع است. تابع مانند ماشینی است که عملیاتی را داخل خود انجام می دهد. محدوده عملیات تابع با کاراکتر های brace brackets { } مشخص می شود.

به عنوان مثال محدوده تابع main در کد برنامه !Hello World بین خطوط 5 و 9 می باشد.

تابع میتواند ورودی و خروجی هم داشته باشد.

()func main چیست؟

main نام تابعی است که فقط می توان در package main آن را فراخوانی کرد. زمانی که برنامه خود را اجرا می کنید در مرحله اول package main مقدار دهی اولیه می شود، سپس تابع main فراخوانی میشود. پس از انجام عملیات تابع، برنامه خارج می شود.

تابع main هیچ ورودی و خروجی ندارد.


  • (“!fmt.Println(“Hello World
package main

import "fmt"

func main(){

    fmt.Println("Hello World!")

}

()fmt.Println یک تابع است که داخل package fmt تعریف شده است.

تابع ()Println چیست؟

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

همیشه بین ورودی ها یک کاراکتر space قرار می دهد و کاراکتر newline را در آخرین کاراکتر که چاپ می کند اضافه میکند.

این تابع 2 خروجی دارد، یکی مقدار عددی بایت های چاپ شده را برمیگرداند و دیگری خطای مواجه شده با آن را بر میگرداند.

همانطور که میبینید متن !Hello World داخل double quotation قرار گرفته است. برای قرار دادن متنی در برنامه خود نیاز است که درون double quotation باشد.


چنانچه مشکلاتی در مطلب فوق مشاهده کردید لطفا از قسمت پیشنهادات و انتقادات مشکل را گزارش دهید.

اگر میتوانید در بخش آموزش زبان Go کمک کنید لطفا به قسمت مشارکت در گولنگفا مراجعه کنید.

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

آموزش نصب زبان Go در لینوکس

برای نصب زبان Go در لینوکس لطفا مراحل زیر را به ترتیب انجام دهید.

نصب زبان Go در لینوکس

دانلود زبان Go در لینوکس

به صفحه دانلود در سایت گولنگ بروید. بر روی باکس Linux همانند تصویر کلیک کنید تا پس از چند ثانیه نرم افزار به طور خودکار دانلود شود.


نصب زبان Go در لینوکس

با استفاده از دستور زیر میتوانید فایل دانلود شده را در مسیر usr/local/ فایل های مربوط به Go را استخراج کنید.

نکته: جلوی آپشن xzf- به جای go$VERSION.$OS-$ARCH.tar.gz مسیر فایل دانلود شده همراه با نام فایل قرار دهید.

tar -C /usr/local/ -xzf go$VERSION.$OS-$ARCH.tar.gz

سپس دستور زیر را به دقت وارد نمایید. با وارد کردن این دستور در ترمینال، مسیر ابزار باینری Go در متغیر محیطی PATH$ اضافه می کنید تا با فراخوانی نام ابزار های Go در هر مسیری از ترمینال خود بتوانید از آنها استفاده نمایید.

echo "export PATH=\"$PATH:\/usr\/local\/go\/bin\"" >> $HOME/.profile
source $HOME/.profile

تنظیم زبان Go در لینوکس

برای تنظیم Workspace دایرکتوری Go لطفا با دقت دستورات زیر را به ترتیب وارد کنید.

نکته: میتوانید به جای مسیر home و نام gocode مسیر و نام دلخواه خود را وارد نمایید.

cd
echo "export GOPATH=\"$HOME/gocode\"" >> $HOME/.profile
source $HOME/.profile
mkdir gocode
cd gocode
mkdir src pkg bin

تست زبان Go در لینوکس

لطفا دستورات زیر را وارد نمایید.

نکته: در اینجا از ادیتور vi استفاده شده است شما میتوانید از ادیتور دلخواه خود استفاده کنید.

mkdir -p $GOPATH/src/test
cd $GOPATH/src/test
vi main.go

داخل فایل باز شده لطفا اطلاعات زیر را بنویسید و ذخیره کنید.

نکته: این کد، عبارت hello world را در ترمینال شما چاپ می کند.

package main

func main(){
    print("hello world")
}

سپس در مسیر فعلی، دستور زیر را وارد کنید.

go run main.go

اگر بعد از اجرا دستور بالا متن hello world ظاهر شد، نصب و تنظیمات به درستی انجام گرفته است.


چنانچه مشکلاتی در مطلب فوق مشاهده کردید لطفا از قسمت پیشنهادات و انتقادات مشکل را گزارش دهید.

اگر میتوانید در بخش آموزش زبان Go کمک کنید لطفا به قسمت مشارکت در گولنگفا مراجعه کنید.

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

آموزش نصب زبان Go در ویندوز

برای نصب زبان Go لطفا مراحل زیر را به ترتیب انجام دهید.

دانلود نرم افزار Go

به صفحه دانلود در سایت گولنگ بروید. بر روی باکس Microsoft Windows همانند تصویر کلیک کنید تا پس از چند ثانیه نرم افزار به طور خودکار دانلود شود.


نصب زبان Go

لطفا فایل دانلود شده را باز کنید.

نصب زبان Go

لطفا بر روی گزینه Next کلیک کنید.

نصب زبان Go

لطفا چک باکس I accept را تیک بزنید، سپس بر روی دکمه Next کلیک کنید.

نصب زبان Go

میتوانید در این قسمت آدرس محل نصب را تغییر دهید، سپس بر روی دکمه Next کلیک کنید.

نصب زبان Go

در پنجره جاری لطفا بر روی دکمه Install کلیک کنید.

نصب زبان Go

لطفا منتظر بمانید تا نرم افزار به صورت کامل نصب شود.

نصب زبان Go

تبریک! نصب زبان Go به پایان رسید، لطفا بر روی دکمه Finish کلیک کنید.

نصب زبان Go

حال دکمه Start + R را نگه دارید تا صفحه مربوط به Run باز شود، سپس درون کادر Open کلمه cmd را تایپ کنید و روی دکمه OK بزنید.

نصب زبان Go

در صفحه cmd لطفا کلمه go را وارد کنید و کلید Enter را بزنید، اگر اطلاعات مانند تصویر زیر را دریافت کردید، شما Go را به درستی نصب کرده اید.

نصب زبان Go

تنظیمات نرم افزار Go

لطفا Control Panel را باز کرده و View by را روی Small icons ست کنید، سپس روی System کلیک کنید.

نصب زبان Go

در صفحه باز شده روی گزینه Advanced system settings کلیک کنید.

نصب زبان Go

سپس لطفا روی دکمه …Environment Variables کلیک کنید.

نصب زبان Go

در قسمت System variables لطفا بر روی دکمه New کلیک کنید.

نصب زبان Go

در پنجره باز شده، در کادر Variable name کلمه GOPATH را به صورت حروف بزرگ وارد کنید، سپس در قسمت Variable value مسیر دلخواه workspace دایرکتوری خود را تعیین کنید، مانند: c:\gocode بعد از آن لطفا روی دکمه OK کلیک کنید و تمام صفحه هات باز شده را با زدن روی دکمه OK ببندید.

نصب زبان Go

حال دایرکتوری workspace خود را در مسیری که تعیین کرده اید بسازید.

نصب زبان Go

در آخر 3 دایرکتوری src pkg bin را مطابق شکل، درون دایرکتوری workspace خود بسازید.

نصب زبان Go

تست Go

داخل workspace خود درون پوشه src لطفا دایرکتوری hello world را بسازید.

نصب زبان Go

درون آن لطفا فایلی به نام main با پسوند go ایجاد کنید.

نصب زبان Go

لطفا فایل main.go را با نرم افزار notepad باز کنید و کد های نوشته در تصویر را درون آن وارد و ذخیره نمایید.

نصب زبان Go

سپس درون cmd لطفا کد های زیر را مطابق شکل وارد نمایید، اگر در آخر کلمه hello world را مشاهده کردید، نرم افزار به درستی نصب و تنظیم شده است.

نصب زبان Go

چنانچه مشکلاتی در مطلب فوق مشاهده کردید لطفا از قسمت پیشنهادات و انتقادات مشکل را گزارش دهید.

اگر میتوانید در بخش آموزش زبان Go کمک کنید لطفا به قسمت مشارکت در گولنگفا مراجعه کنید.

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

معرفی زبان برنامه نویسی Go

معرفی زبان برنامه نویسی Go

زبان برنامه نویسی Go ( گولنگ golang ) یک زبان استاتیک تایپ، کامپایلی، طراحی شده توسط رابرت گریسمر، راب پایک و کن تامسون.

زبان گو از نظر املا مشابه زبان C می باشد، اما با مزایای استفاده از ایمنی حافظه، سیستم GC (مدیریت خودکار حافظه)، تایپ ساختاری، همزمانی سطح بالا (ارتباط فرآیند های متوالی).


تاریخ زبان برنامه نویسی Go

زبان گو سال 2007 در گوگل طراحی شد تا برای بهبود برنامه نویسی، در عصر دستگاه های چند هسته ای، شبکه و پایگاه های بسیار بزرگ استفاده شود.

طراحان زبان Go میخواستند مشکلاتی که در زبان هایی که در Google استفاده می شد را حذف کنند، درحالی که ویژگی های مفید خود را حفظ کنند.

  • استاتیک تایپ و بهره وری از سیستم runtime (مانند سی پلاس پلاس یا جاوا)
  • قابل خواندن و کاربردپذیری ( مانند پایتون و جاوااسکریپت)
  • عملکرد بالا در شبکه و multiprocessing

انگیزه طراحان زبان Go، دوست نداشتن زبان ++C بود، گویا بسیاری از انتقادات در طراحی ++C توسط توسعه دهندگان شناخته شده نرم افزاری ازجمله لینوس تروالدز (خالق لینوکس)، ریچارد استالمن، جوشوا بلوچ، راب پایک (خالق utf-8)، کن تامسون(خالق یونیکس) و دونالد نوت(دانشمند علوم رایانه) انجام گرفته بود. بیشتر بدانید > انتقاد از ++C

گو در نوامبر 2009 عمومی و اعلام شد، و ورژن یک در مارچ 2012 منتشر شد.Go به طور گسترده در محصولات Google استفاده می شود، همچنین در بسیاری از سازمان های دیگر و پروژه های متن باز.


انتقاد از زبان برنامه نویسی Go

فقدان جنریک و verbosity of error handling، انتقاد قابل توجه ای بدست آورد. بیشتر بدانید > انتقادات از Go


طرح زبان برنامه نویسی Go

زبان گو به طور قابل توجهی از سنت زبان C استفاده می کند، اما مقداری تغییرات اعمال شده تا خلاقیت، سادگی و ایمنی را بهبود بخشد.

زبان Go متشکل است از:

  • املاء و محیط اقتباس شده از الگوهای رایج در زبان های پویا
    • اختیار اعلام متغیر مختصر و مقدار دهی اولیه نوع استنتاج
    • زمان کامپایل سریع
    • مدیریت بسته از راه دور (go get) و اسناد بسته های آنلاین
  • رویکرد های متمایز به مشکلات خاص
    • ابتکارات هم زمانی توکار: فرایند های سبک وزن (goroutines)، کانال ها، و بیانیه select
    • یک سیستم interface به جای ارث مجازی، و تعبیه نوع embedding به جای ارث غیرمجازی
    • یک toolchain که به طور پیش فرض، باینری های محلی بومی استاتیک لینک را بدون وابستگی های خارجی تولید می کند.
  • ساده بودن مشخصات زبان برای نگه داشتن برنامه نویس، حذف ویژگی هایی که در زبان های مشابه رایج هستند. بیشتر بدانید > حذفیات در Go

چنانچه مشکلاتی در مطلب فوق مشاهده کردید لطفا از قسمت پیشنهادات و انتقادات مشکل را گزارش دهید.

اگر میتوانید در بخش آموزش زبان Go کمک کنید لطفا به قسمت مشارکت در گولنگفا مراجعه کنید.

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