گو (Go) که با نام گولنگ (Golang) نیز شناخته می شود، یک زبان برنامه نویسی متن باز، کامپایل شده و تایپ شده استاتیک است که توسط گوگل طراحی شده است. این ساده، با کارایی بالا، خوانا و کارآمد ساخته شده است. Go (یا Golang) قطعاً محبوبترین زبان برنامهنویسی نیست، اما سفر بیش از 10 ساله آن در دنیای توسعه به آرامی اما مطمئناً پیش میرود و مزایای بسیاری را نسبت به سایر زبانهای برجستهتر، آشکار میکند.
با گفتن این موضوع اکنون زمان خوبی است تا نگاهی دقیقتر به منشا Go داشته باشیم و دریابیم که چرا Go همچنان زبانی است که برای برنامهنویسان با ارزش است .
در این مقاله یاد خواهید گرفت:
- Go از کجا آمد و اکنون کجاست،
- چرا فکر می کنم باید آن را یاد بگیرید،
- تفاوت های آن با زبان های برنامه نویسی دیگر
- مزایا و معایب
- نحوه نصب و اجرای آن
- چگونه اولین برنامه "Hello World" خود را در Go بنویسید
Go یا Golang کدام صحیح است؟
ممکن است زبانی به نام Go و Golang را بشنوید که ممکن است گیج کننده باشد. زمانی فکر میکردم آنها نامهایی برای زبانهای مختلف هستند. اما Golang فقط نام دیگری برای Go است، و Go همچنان نام رسمی است.
مسئله این است که هر دو درست است. این زبان به طور رسمی Go نامیده می شود. نام مستعار "Golang" به این دلیل به وجود آمد که وب سایت golang.org
است، نه go.org
، که در آن زمان در دسترس نبود. سردرگمی اولیه چیز خوبی بود، زیرا نام "Golang" منحصر به فردتر است و «Golang» بسیار قابل جستجوتر از «Go» در Google است. حتی در رسانه های اجتماعی، هشتگ golang#
بدون در نظر گرفتن نام رسمی Go آن زبان غالب است. همچنین نام زبان Go است، نه GO، حتی اگر دو حرف بزرگ روی لوگوی رسمی وجود دارد.
Golang چیست؟
Go (Golang) یک زبان برنامه نویسی بک اند و منبع باز است که برای موارد زیر استفاده می شود:
مدیریت سرور
توسعه وب
تنظیمات زیرساخت ابری
و رابط های خط فرمان
Go ناشی از ناامیدی بود که در میان گوگلکارانی که با زبانهای بک اند دیگر دست و پنجه نرم میکردند، در حال افزایش بود. آنها به طور خاص از ++C
بیزاری مشترک و شدید داشتند. توسعه دهندگان آن را کند، مطالبه گر، بیش از حد پیچیده، ناپایدار و کند کردن روند توسعه در نظر گرفتند. خلاصه داستان، ++C، عالی در «زمانهای سادهتر قدیمی»، نقصهای خود را در عصر چند هستهای، ماشینهای شبکهای، پایگاههای کد عظیم، و راهحلهای مبتنی بر هوش مصنوعی و ابری آشکار کرد.
جستجو برای جایگزینی بهتر در سال 2007 آغاز شد که توسط رابرت گریزمر، راب پایک و کن تامپسون آغاز شد. آنها در آن زمان در گوگل استخدام میشدند و این شرکت با استفاده از زبانهای برنامهنویسی پیچیده و گیجکننده، عمدتاً مربوط به C، از مشکلات بسیاری رنج میبرد. این سه نفر تصمیم گرفتند که تمرکز خوبی بر روی غلبه بر چالشهای C نیست، بلکه روی ایجاد جایگزین بهتری برای C تمرکز میکنند. و (علاوه بر ++C، پایتون و روبی)، آنها را به آرامی با هم ترکیب می کنند و آنها را به شکلی راحت و مدرن می پیچند.
وقتی صحبت از سینتکس به میان میآید، زبان Go اغلب به عنوان "C برای قرن بیست و یکم" شناخته میشود.
در نوامبر 2009، گریزمر، پایک و تامپسون Go را به طور عمومی اعلام کردند و نسخه 1.0 در مارس 2012 منتشر شد.
اندرو جراند، مهندس نرم افزار، که روی توسعه Go در گوگل و ایجاد جامعه ای حول این زبان کار می کرد، در آن زمان نوشت:
شایان ذکر است که DNA Golang فقط یک تناسخ ساده C نیست. بسیار درست است که Go از نظر سینتکس شبیه به C است، با این حال ابزارهای داخلی برای ایمنی حافظه، garbage collection، تایپ ساختاری (structural typing) و همزمانی (concurrency) در Go نیز وجود دارد. ویژگی های اصلی گولنگ در واقع از بسیاری از زبان های دیگر گرفته شده است. ما داریم:
تایپ استاتیک و کارایی زمان اجرا (مانند C)
خوانایی و قابلیت استفاده (مانند پایتون یا جاوا اسکریپت)
شبکه با کارایی بالا و multiprocessing
همه ویژگی های Go به یک هدف نهایی منتفع می شوند: ثبات.
چگونه Go به وجود آمد؟
زبان برنامه نویسی Go به این دلیل به وجود آمد که همه چیز در پایگاه های کد گوگل بسیار پیچیده تر می شد. این توسط رابرت گریزمر، راب پایک و کن تامپسون طراحی شده است که طبق گزارشها، همگی علاقه مشترکی به ++C دارند. Go در سال 2009 به عموم مردم معرفی شد و در سال 2012 زمانی که اولین نسخه آن، 1.0 منتشر شد، متن باز شد.
Go به سرعت محبوبیت پیدا کرد و به دلیل سادگی، خوانایی، کارایی و ماهیت همزمان، به انتخاب اول بسیاری از توسعه دهندگان تبدیل شد. همزمان به این معنی است که می تواند چندین کار را همزمان اجرا کند.
Go برای برنامه نویسی سمت سرور (بک اند)، توسعه بازی، برنامه نویسی مبتنی بر ابر و حتی علم داده استفاده می شود. همچنین برای ساخت ابزارهای خط فرمان محبوب است. امروزه، بسیاری از غولهای فناوری از Go مانند Google، Netflix، Twitch، Ethereum، Dropbox، Kubernetes، Docker، Heroku و موارد دیگر استفاده میکنند. جای تعجب نیست که شرکت هایی مانند Kubernetes، Docker و Heroku از Go استفاده می کنند زیرا برنامه نویسی مبتنی بر ابر یکی از دلایل اصلی طراحی Go است.
Go در آمار ها
نگاهی گذرا به Stack Overflow Survey نشان می دهد که Go بسیار کمتر از جاوا اسکریپت و پایتون محبوب است. این زبان ها برای یک سال متوالی دیگر در حال تسلط هستند و هیچ چیزی وجود ندارد که نشان دهد وضعیت به زودی تغییر خواهد کرد.
با این حال، Go، که فقط در رتبه دوازدهم قرار دارد نباید نادیده گرفته شود. مطمئناً این زبان محبوب ترین زبان برنامه نویسی در سراسر جهان نیست و تعداد نسبتاً کمی از توسعه دهندگان روزانه از آن استفاده می کنند، اما با توجه به سن نسبتاً کم آن نمی تواند تعجب آور باشد. هم جاوا اسکریپت و هم پایتون زمان داشتند تا موقعیت های خود را در جامعه توسعه دهندگان حک کنند و وقتی تنظیم شدند هیچ تغییری یک شبه اتفاق نمی افتاد.
در مقایسه با رقبای قدیمی خود، Go نسبتاً تنها است. هیچ چارچوبی وجود ندارد که کار با آن را هموار کند، و مدیر بسته استاندارد تنها سه سال پیش معرفی شد. و اینها مسدود کننده های قوی هستند. بنابراین، چرا ما حتی در مورد Go صحبت می کنیم؟
علیرغم جایگاه نسبتاً پایین در مسابقه محبوبیت عمومی، Go سومین زبانی است که توسعه دهندگان می خواهند یاد بگیرند (از جمله TypeScript). و نه تنها Stack Overflow Survey که این را می گوید. HackerRank علاقه توسعه دهندگان به Go را نیز ثابت می کند. طبق مطالعه آنها در سال 2020، Golang برای سه سال متوالی مورد علاقه ترین زبان برای یادگیری بوده است.
علاوه بر این، Go پنجمین زبان محبوب در GitHub از نظر ستاره است.
چرا توسعه دهندگان مایل به یادگیری Go هستند، اگر نقص های آن بسیار مشهود است؟ ما چندین دلیل فنی را پوشش خواهیم داد، اما جذاب ترین ویژگی Go سهولت استفاده و منحنی یادگیری نسبتاً صاف آن است. و جای تعجب نیست. Go که به این دلیل توسعه داده شد که تأثیر ناامیدی ناشی از ++C بیش از حد پیچیده، تا حد امکان ساده باشد.
چرا باید Go یاد بگیرید
منحنی یادگیری آسان
Go یکی از ساده ترین زبان های برنامه نویسی موجود است. به راحتی می توانید آن را انتخاب کنید، مخصوصاً اگر قبلاً با هر زبان برنامه نویسی دیگری آشنایی داشته باشید. در مورد من، اصول Go را در یک جلسه یاد گرفتم.
بسیاری از توسعهدهندگانی که از Go استفاده میکنند و به تواناییهای آموزشی خود اطمینان دارند، میگویند که میتوانند تنها در چند ساعت یک برنامهنویس را با Go بسازند.
بر اساس نظرسنجی توسعه دهندگان StackOverflow 2020، سادگی Go یکی از دلایل اصلی جهش آن از 10 به پنجمین زبان برنامه نویسی محبوب است.
جامعه فعال و مستندات خوب
Go دارای داکیومنت های محکم و خوانا است. می توانید داکیومنت را در وب سایت رسمی بخوانید. جدای از داکیومنت، Go همچنین دارای یک انجمن حامی و فعال در پشت آن است، بنابراین همیشه میتوانید در صورت گیر کردن کمک دریافت کنید.
هشتگ golang#
معمولا در توییتر استفاده می شود، بنابراین در صورت گیر افتادن می توانید سوال خود را توییت کرده و هشتگ را به آن ضمیمه کنید.
با Go می توانید کارهای زیادی انجام دهید
Go یک زبان برنامه نویسی چند منظوره است، به این معنی که شما می توانید از آن برای تعدادی از موارد مانند توسعه وب، علم داده، محاسبات ابری و غیره استفاده کنید. اگر می خواهید حرفه ای در برنامه نویسی مبتنی بر ابر داشته باشید، باید Go را یاد بگیرید، زیرا پلتفرم هایی مانند Amazon Web Services، Kubernetes و Google Cloud Platform (GCP) همگی از Go پشتیبانی می کنند.
دستمزدهای جذاب
طبق نظرسنجی توسعهدهندگان StackOverflow در سال 2020، توسعهدهندگان Go پس از پرل و اسکالا با میانگین دستمزد 74 هزار دلار، سومین پردرآمدترین توسعهدهندگان هستند.
این رقم احتمالاً به افزایش خود ادامه خواهد داد، زیرا Go همچنان هر سال محبوبیت بیشتری کسب می کند و تقاضا برای آن وجود دارد. بنابراین، اگر میخواهید درآمد بیشتری کسب کنید، باید Go را یاد بگیرید.
اصول اصلی گو (Golang)
هدف پشت Go این بود که زبانی را ایجاد کند که بطور آزاد بر اساس سینتکس C باشد که ویژگی های اضافی دیگر زبان های مدرن مانند بارگذاری متد و عملگر، محاسبه اشاره گر و وراثت نوع را حذف کند. حذف این ویژگیها به مهندسان اجازه میدهد تا راهحلهای ناب و چابکی ایجاد کنند که آنها را قادر میسازد تا عملکرد در چندین هسته را سرعت بخشند، همزمانی را پشتیبانی کنند و با اضافه شدن هستهها مقیاس شوند.
کد Go بسیار ساده است و کامپایل آن بسیار آسان است. این نیاز به راه اندازی یک پایگاه داده MySQL در Docker دارد، کمی با HTML تزیین می کند و ... همین. با توجه به رشد روزافزون عملکرد، نه تنها از نظر سرعت برنامهها، بلکه در پیادهسازی میکروسرویسها و معماری بومی ابری، Go در مسیر درستی برای جایگزینی استک های فناوری قدیمی مانند جاوا یا C قرار دارد.
ویژگی های اصلی سینتکس Go عبارتند از:
اعلان و مقداردهی اولیه متغیر اختیاری از طریق type inference (x := 0
به جای ؛int x = 0
یا ;var x = 0
)
فرآیندهای جمع آوری سریع
مدیریت بسته از راه دور
Go همچنین رویکرد کاملا متفاوتی برای چالش های رایج توسعه دهندگان دارد. دارای مقادیر اولیه همزمانی داخلی است: فرآیندهای سبک وزن (گوروتین ها)، کانال ها و دستور select. همچنین سیستم رابط Go به جای ارث بری مجازی است و به جای ارث بری غیر مجازی، embedding را تایپ کنید.
سینتکس Go با وضوح و ابزار در ذهن طراحی شده است. در مقایسه با سایر زبانهای خانواده C، با 25 کلمه کلیدی (C99 دارای 37 کلمه، C++11 دارای 84 است، اعداد همچنان در حال رشد هستند) بسیار ساده است.
مزایای Golang
یادگیری آن ساده و آسان است
با توجه به سادگی، Go برای مبتدیان عالی است. سینتکس آن کوچک است و به راحتی قابل تجزیه و تحلیل و تفسیر بدون بررسی عمیق در داکیومنت ها است. یادگیری Go برای توسعه دهندگانی که حتی اندکی با چند زبان دیگر آشنا هستند، بسیار راحت است.
چابک است و می توان از آن برای چندین منظور استفاده کرد
انعطافپذیری Go آن را به راهحل خوبی برای مدیریت پروژههای ابری، هوش مصنوعی و دادههای بزرگ و توسعه برنامه استاندارد تبدیل میکند.
کامپایل شده و سریع است
زبانهای کامپایلشده قبل از اجرا به کد ماشین ترجمه میشوند، برخلاف زبانهای تفسیر شده، که سرعت آنها را افزایش میدهد.
دارای پشتیبانی از ایجاد برنامه در چندین سیستم است
صرف نظر از اینکه ویندوز، لینوکس یا مک باشد، توسعه دهندگان انواع محیط های توسعه یکپارچه (IDE) و ویرایشگرها را برای انتخاب دارند، مانند GoLand، Vim، VSCode، و Atom.
معایب Golang
Go هنوز خیلی جوان است
زمانی که تعداد کتابخانه ها و چارچوب هایی را که می توانند کار با آن را آسان تر کنند، تحلیل کنیم، ناپختگی Golang مشخص می شود.
رسیدگی به خطا
برخی از انتقادات به مدل رسیدگی به خطای Go وجود دارد زیرا کاملاً غیر متعارف است. در Go، همه خطاها مقادیر هستند، که منجر به مقدار مناسبی از توابع می شود که یک خطا را برمی گرداند.
سادگی که (گاهی) می تواند محدود کننده باشد
گاهی اوقات توسعه دهندگان ممکن است احساس کنند که سادگی Go که در ابتدا دلپذیر است، به یک محدودیت تبدیل می شود. نداشتن برخی ویژگیهای داخلی باعث نیاز به نوشتن راهحلها میشود، که به معنای کد گستردهتر است.
زبان برنامه نویسی Go چه می کند؟
تیم های Go از ویژگی های زبان برای توسعه نرم افزار استفاده می کنند:
یک کتابخانه استاندارد مبتنی بر استفاده از بسته های توزیع شده است و افزودن و استفاده از قابلیت های اضافی در کد را آسان می کند.
مدیریت بسته کد امکان مدیریت پکیج های کد ایجاد شده توسط کاربر و پکیج های کد خارجی را فراهم می کند و انتشار پکیج ها را با استفاده از مجموعه کوچکی از دستورات امکان پذیر می کند.
تایپ استاتیک یک سیستم نوع را فراهم می کند که تبدیل و سازگاری را تضمین می کند و در عین حال از مشکلاتی که با زبان های تایپ شده پویا وجود دارد اجتناب می کند.
پشتیبانی از تست شامل تست های واحد است که به موازات کد نوشته شده اجرا می شود و امکان دیباگ و تضمین کیفیت را فراهم می کند.
استقلال پلتفرم از طراحی ماژولار Go استفاده می کند تا کد آن را تقریباً در هر پلتفرمی کامپایل کند.
یک مدل همزمانی مبتنی بر گوروتینهای سبک وزن است که مانند نخها رفتار میکنند و مکانیسم کانالی که ارتباط بین گوروتینها را تسهیل میکند. سینتکس کد از الگوهای اساسی که معمولاً در زبانهای پویا استفاده میشود تقلید میکند و رابطهای ترکیبی را به ارث بری ترجیح میدهد. این به توسعه دهندگان امکان می دهد برنامه هایی بنویسند که می توانند چندین کار را همزمان انجام دهند.
در زیر برخی از ابزارهای Go آمده است:
Gofmt به صورت خودکار کدها را برای خوانایی فرمت و تورفتگی می کند.
به اجرای کامپایل ها و اجرای کدها به صورت همزمان بروید.
Go با GitHub ادغام کنید.
Godoc مستندات مبتنی بر زبان نشانه گذاری فرامتن را با توجه به ساختار کد و نظرات توسعه دهنده ایجاد می کند.
Go test تستها و معیارهای واحد را اجرا میکند و آزمایش کد و جمعآوری دادههای عملکرد را فعال میکند.
Go build بسته های Go و وابستگی ها را در یک کتابخانه اجرایی کامپایل می کند.
Go vet کد منبع Go را برای اشتباهات و ساختارهای مشکوک بررسی می کند.
Go برای چه استفاده می شود؟
تیم های توسعه نرم افزار از Go برای ایجاد انواع نرم افزارهای کاربردی استفاده می کنند:
خدمات کانتینری سرویسهای کانتینری مانند Docker و Kubernetes از Go برای همزمانی و قابلیت حمل آن استفاده میکنند.
خدمات شبکه و ابر. ویژگیهای همزمانی Go و اکوسیستم ابزارها و APIها، آن را برای خدمات شبکه، توابع توزیعشده و سرویسهای ابری مناسب میسازد. به عنوان مثال، سرویس های ابری مانند OpenShift و Terraform از Go برای ایجاد API و وب سرورهای با کارایی بالا استفاده می کنند. شبکه لایتنینگ بیت کوین و سایر فناوری های پیچیده بلاک چین از Go استفاده می کنند.
خدمات وب سرور پروتکل انتقال Hypertext که در کتابخانه استاندارد Go تعبیه شده است، آن را برای شرکت هایی مانند Netflix و Twitch برای توسعه خدمات وب و معماری سمت سرور مفید می کند.
ابزارهای خط فرمان شرکت هایی مانند Terraform و OpenShift از سینتکس ساده Go، زمان اجرا کوتاه، بسته های کد منبع باز و کتابخانه استاندارد نسبتا بزرگ برای ایجاد رابط های خط فرمان استفاده می کنند.
آب و برق برنامههای Go بهسرعت راهاندازی میشوند و به دلیل کامپایلپذیری کم، به راحتی قابل توزیع مجدد هستند. این باعث می شود Go برای ایجاد ابزارهایی مانند سرورهای دسترسی مانند Teleport خوب باشد.
میکروسرویس ها زمان راهاندازی سریع زبان Go، سربار زمان اجرا کم و توانایی اجرای بدون VM، آن را برای نوشتن میکروسرویسها بسیار محبوب کرده است. شرکت هایی مانند اوبر و بی بی سی برای این منظور از آن استفاده می کنند.
علم داده. همزمانی و مدیریت حافظه Go آن را به گزینه خوبی برای دانشمندان داده تبدیل می کند تا مجموعه داده های بزرگ را به صورت موازی پردازش و تجزیه و تحلیل کنند. Go و کتابخانههای آن میتوانند در یادگیری ماشین برای توسعه مدلهای پیشبینی و انجام کارهای دیگر نیز استفاده شوند.
Go چگونه با سایر زبان های برنامه نویسی مقایسه می شود؟
Golang دارای ویژگی هایی مشابه سایر زبان های برنامه نویسی است، اما یک جایگزین منحصر به فرد ارائه می دهد: هدف اصلی طراحی Go تسهیل کامپایل سریع است، برخلاف برخی از زبان های رایج دیگر.
++C
Go و ++C دارای تفاوت های کلیدی هستند، مانند موارد زیر:
Go مقدار خطاها و وابستگی های زمان اجرا را کاهش می دهد و در عین حال ایمنی حافظه و مدیریت حافظه را افزایش می دهد. ++C همه این کارها را انجام نمی دهد زیرا از مدیریت حافظه دستی استفاده می کند.
Go از سینتکس سادهتر و مدرنتری نسبت به ++C استفاده میکند.
Go نوشتن کد همزمان و موازی را آسانتر میکند، زیرا برخلاف ++C که به رشتهها و لاک ها متکی است، از همزمانی از طریق گوروتینها و کانالها پشتیبانی داخلی دارد.
Go یک کتابخانه استاندارد کوچکتر از ++C دارد.
روبی
تفاوت های اصلی Go با Ruby به شرح زیر است:
Go از سینتکس ساده تری نسبت به Ruby استفاده می کند.
Go از یک سیستم نوع ثابت استفاده می کند که به تشخیص خطاها در حین کامپایل کمک می کند. Ruby برای کامپایل و اجرای کد به یک مفسر نیاز دارد، به این معنی که کامپایل آن ممکن است بیشتر طول بکشد.
Go از همزمانی داخلی استفاده میکند، در حالی که Ruby به رشتهها و لاک ها متکی است و Go را برای کدهای همزمان بهتر میکند.
Go یک کتابخانه استاندارد کوچکتر از Ruby دارد.
جاوا
تفاوت های کلیدی Go و Java به شرح زیر است:
Go از سینتکس ساده تری نسبت به جاوا استفاده می کند.
زمان اجرا و سرعت کامپایل Go معمولاً سریعتر از جاوا است که برای اجرای کدهای خود به یک ماشین مجازی نیاز دارد.
Go از همزمانی داخلی استفاده می کند، در حالی که جاوا به رشته ها و لاک ها متکی است.
Go کتابخانه استاندارد کوچکتری نسبت به جاوا دارد.
پایتون
پایتون بیش از 30 سال قدمت دارد، اما محبوبیت آن همچنان در حال افزایش است.
Python و Go هر دو دارای یک سینتکس ساده و پشتیبانی شخص اول از همه ارائه دهندگان اصلی ابر هستند.
شروع هر دوی Go و Python برای مبتدیان آسان است و یادگیری آنها نسبتاً آسان است. بحث بر سر این است که کدام راحت تر است. Go زبان سادهتری است و ممکن است سریعتر به آن مسلط شود، اما برخی شروع کردن را سختتر از پایتون میدانند، زیرا تسلط بر آن بیشتر طول میکشد زیرا چیزهای بیشتری برای یادگیری وجود دارد.
Go در مقایسه با پایتون یک بچه جدید در بلوک است و سریع طراحی شده است. Go سریعتر از پایتون است. خیلی سریعتر.
پایتون در علم داده تسلط دارد. Go برای برنامه نویسی سیستم عالی است.
به عنوان زبان ارشد، پایتون دارای کتابخانه و جامعه گسترده تری است که پیرامون آن ساخته شده است.
تایپ پویا پایتون میتواند آن را بهتر از Go برای نمونهسازی سریع کند.
اجرای برنامهها در مقیاس با Go آسانتر است. Go توسط گوگل ساخته شد تا مشکلات را در مقیاس گوگل حل کند و برای کار بر روی برنامه های بزرگ همزمان ایده آل باشد. Go از همزمانی یا توانایی اجرای همزمان بیش از یک برنامه/کار پشتیبانی می کند. پایتون اینطور نیست.
Python و Go هر کدام مزایای منحصر به فرد خود را ارائه می دهند، اما دلیلی وجود ندارد که شما نتوانید و نباید استفاده از هر دو را یاد بگیرید!
نصب Go
برای نصب Go کافی است وارد سایت اصلی Go شوید و بر اساس سیستم عامل خود آن را دانلود کنید و مراحل نصب بسیار ساده ای دارد. پس از نصب کافی است وارد ترمینال (CMD) شوید و دستور go را تایپ کرده و اینتر را بزنید و از نصب آن در سیستم عامل خود اطمینان حاصل کنید.
چگونه اولین Hello World خود را در Go بنویسیم
مرحله 1: پوشه "go-workspace" (یا هر چیزی که نامش را گذاشتید) را با VS Code (یا ویرایشگر کد انتخابی خود، من خودم GoLand می پسندم) باز کنید و فایلی به نام main.go
ایجاد کنید. شما می توانید نام فایل را هر چه که می خواهید بگذارید.
مرحله 2: وقتی Enter را فشار میدهید، از شما خواسته میشود اکستنشن های Go را برای VS Code نصب کنید. مطمئن شوید که آن را نصب کرده اید زیرا به ویرایشگر کد شما قدرت های فوق العاده ای مانند برجسته سازی سینتکس و پیشنهادات قطعه کد می دهد.
کد زیر را در فایل main.go
(یا هر نامی که فایل را نامگذاری کردید) قرار دهید:
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
کد بالا چه کار می کند؟
خط اول دارای پکیج اصلی است. "package" مجموعه ای از فایل ها و کدهای هر فایل Go است. پکیج را به عنوان یک پوشه حاوی فایل ها و کدهای Go خود در نظر بگیرید.
مهم نیست که فایل خود را چه نام گذاری کرده اید، مطمئن شوید که "Package main" در بالای کد شما موجود است.
پس از آن fmt
وارد می شود. "fmt" پکیجی از کتابخانه استاندارد Go است. برای قالب بندی رشته ها و چاپ پیام ها در خط فرمان استفاده می شود. این شامل متد هایی برای انجام کارها در Go است.
یکی از این متد ها Println به معنای «خط چاپ» است که برای چاپ متن «Hello World» خود از آن استفاده می کنیم.
در داخل تابع "main"، از پکیج fmt برای خروجی متن "Hello World" به کنسول استفاده شد.
برای اجرای این کد، ترمینال خود را باز کنید، go run main.go
را تایپ کنید و اینتر را بزنید. اگر نام فایل خود را با نام دیگری گذاشته اید، آن را برای اجرای yourFileName.go
قرار دهید.
نتیجه
Go همانطور که امیدوار بودیم ثابت کنیم می تواند برای بسیاری از سازمان ها مفید باشد و شکی نیست که این زبان هنوز قبل از اوج کار خود است. با این حال، با مساعد بودن شرایط، شتاب بیشتری می گیرد. ظهور معماری میکروسرویس، تسلط ابر و تمایل عمومی برای عملکرد بالاتر، آن را به پشته فناوری بیشتر و بهتری تبدیل می کند که ارزش توجه کردن را دارد.