مصطفی شاه ولی

اینجا حوزه فناوری اطلاعات و ارتباطات است
لوازم جانبی کامپیوتر و موبایل اهواز

مصطفی شاه ولی

اینجا حوزه فناوری اطلاعات و ارتباطات است

سلام خوش آمدید
زبان برنامه نویسی Go چیست؟ - مزایا و معایب گو

زبان برنامه نویسی Go چیست؟ - مزایا و معایب گو

شنبه, ۵ اسفند ۱۴۰۲، ۰۶:۲۲ ب.ظ

زبان Go برای حل پیچیدگی روز افزون پایگاه‌های کد در گوگل پدیدار شد. پس از ظهور، بسیاری از برنامه‌های کاربردی «مبتنی بر ابر» (Cloud-Based) و «سمت سرور» (Server-Side) آن را پذیرفتند. هم‌اکنون در توسعه ابزارهای خط فرمان، در هوش مصنوعی و علم داده مورد استفاده قرار می‌گیرد. اگر به یادگیری زبان برنامه نویسی Go یا همان Golang علاقه دارید، این مطلب شما را به مسیر درستی هدایت می‌کند. تقریباً می‌توان از هر زبان برنامه نویسی برای «رایانش ابری» (Cloud Computing) استفاده کرد، اما چند زبان برنامه نویسی وجود دارد که از بقیه متمایز هستند و قرار است در مورد یکی از آن زبان‌ها به نام Go صحبت کنیم و به این پرسش پاسخ بدهیم که زبان برنامه نویسی Go چیست.

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

زبان برنامه نویسی Go توسط مهندسان شرکت گوگل در سال ۲۰۰۷ طراحی شد. گوگل آن زمان به سرعت در حال رشد بود و کدهایی که مهندسان این شرکت برای مدیریت زیرساخت‌های آن استفاده می‌کردند به زبان ++C نوشته می‌شد که به لحاظ مدیریت کدها بیش از حد سخت و پیچیده بود و همین امر فرایند توسعه را کند می‌کرد. بنابراین تعدادی از مهندسان گوگل به نام‌های Robert Griesemer ،Rob Pike و Ken Thompson تصمیم به ساخت یک زبان برنامه نویسی جدید با تمرکز بر سادگی و عملکرد سریع گرفتند و زبانی را توسعه دادند که برای مدیریت و یادگیری آسان‌تر باشد. آن‌ها زبانی جدید به نام Golang را خلق کردند.

زبان گو گوگل

زبان برنامه نویسی Go در سال ۲۰۰۹ «منبع آزاد» (Open Source) اعلام و در سال ۲۰۱۲ به صورت عمومی منتشر شد. این زبان به دلیل سهولت در استفاده به سرعت در میان توسعه دهندگان و مهندسان به شهرت رسید. امروزه Golang یکی از محبوب‌ترین زبان‌های برنامه نویسی است.

برخلاف زبان‌های دارای «مدیریت نوع پویا» (Dynamic Type)، مثل جاوا اسکریپت و پایتون، مدیریت نوع داده در Go «ایستا» (Static Type) است. اجرای برنامه‌هایی که به صورت ایستا هستند، زمانی شروع می‌شوند که خطاهای آن‌ها رفع شود. در حالی که اجرای زبان‌های پویا مثل جاوا اسکریپت شروع می‌شود، حتی اگر خطا داشته باشند.

خالقان Golang، تمام قابلیت‌های منحصربفرد و عالی زبان ++C، به ویژه عملکرد بالای آن و ویژگی‌های امنیتی را استخراج و با سرعت بالای پایتون ترکیب کردند. این قابلیت‌ها و ویژگی‌ها به زبان Go امکان می‌دهند تا از چندین هسته سریع استفاده کند و در عین حال قادر به پیاده‌سازی «همزمانی» (Concurrency) نیز باشد؛ منظور از همزمانی، عملکرد چند وظیفه‌ای است؛ به عنوان مثال هنگامی که در حال مرور وب‌سایتی به صورت آنلاین هستیم، موارد زیادی به طور همزمان در مرورگر رخ می‌دهند. اگر لازم است محصولی که می‌سازید ناچار باشد چندین کار را همزمان انجام دهد، این امر باید با توسعه نرم افزار محقق شود. استفاده از بستر محاسباتی توزیع‌شده می‌تواند برای توسعه دهندگان بسیار جذاب باشد.

کاربرد زبان برنامه نویسی Go چیست ؟

اگر شما به دنبال یادگیری زبان جدیدی هستید و می‌خواهید زبان جدیدی را به مجموعه فناوری‌هایی اضافه کنید که در آن‌ها مهارت دارید، Golang انتخابی عالی به حساب می‌آید. دلایل زیادی برای یادگیری زبان Go وجود دارد. به عنوان مثال این زبان همه کاره است و برای زمینه‌های مختلفی از جمله سرویس‌های ابری، امنیت سایبری، توسعه بازی، توسعه سرویس‌های استریم و بسیاری از موارد دیگر استفاده می‌شود.

در ادامه ابتدا فهرستی از کاربردهای اصلی زبان Go ارائه شده و سپس هر مورد به صورت مجزا در زیربخش‌های جداگانه شرح داده می‌شود.

  • کاربرد زبان برنامه نویسی Go در خدمات ابری
  • استفاده از زبان Golang در رزرو آنلاین
  • کاربرد زبان برنامه نویسی Go در شرکت های مالی
  • به کارگیری زبان برنامه نویسی Go در امنیت سایبری
  • کاربرد Golang در امنیت سایبری
  • استفاده از زبان Go در پلتفرم های پخش موسیقی و ویدیو
  • کاربرد زبان Go در گفتگوی آنلاین و پیام رسان‌ها
  • استفاده از Golang در توسعه بازی های کامپیوتری

کاربرد زبان برنامه نویسی Go در خدمات ابری چیست؟

بسیاری از سازمان‌ها از بسترهای سنتی IT به «بسترهای ابری» (Cloud) کوچ کرده‌اند. این مسئله نشان‌دهنده آن است که داده‌ها و سامانه‌های کمتری برای نگهداری در محل سازمان‌ها وجود دارد که باعث می‌شود هزینه‌ها به میزان زیادی کاهش پیدا کنند. یکی از مشهورترین سرویس‌های ابری، سرویس ابری گوگل است. سرویسی که با زبان Golang ساخته شده و مقیاس‌پذیری و کارایی بالایی را ارائه می‌دهد. سایر سرویس‌های ابری مانند Dropbox و SendGrid نیز از زبان برنامه نویسی Go استفاده می‌کنند.

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

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

شرکت «اوبر» (Uber) از زبان برنامه نویسی Go برای ساخت بسیاری از خدمات خود استفاده می‌کند. برای مثال،‌ از Golang برای کمک به Uber به‌منظور بارگیری سریع‌تر نقشه‌ها و مطابقت مسافران با رانندگان استفاده می‌شود. شرکت‌های TrivaGo و Delivery Hero نیز از زبان برنامه نویسی Go استفاده می‌کنند.

کاربرد زبان برنامه نویسی Go در شرکت های سرمایه گذاری و بازارهای مدیریت مالی

چندین شرکت سرمایه‌گذاری، زبان Go را برای استفاده در پروژه‌ها به کار گرفته‌اند. شرکت Capital One از Golang برای توسعه «پیشنهادات اعتباری» (Credit Offers) API خود استفاده کرده و American Express آن را برای نوسازی شبکه‌های پرداخت و پاداش خود مورد استفاده قرار داده است. شرکت PayPal زبان Go را برای ساده‌سازی کدنویسی و بهبود عملکرد پلتفرم پرداخت خود استفاده می‌کند.

کاربرد زبان برنامه نویسی Go در امنیت سایبری چیست؟

سودمندی زبان برنامه نویسی Go در محیط‌های سرور و ابری آن را برای امنیت سایبری به زبانی بسیار مناسب بدل می‌کند. سرویس «1Password»، برنامه‌ای محبوب برای ذخیره رمزهای عبور و سایر اطلاعات حساس است که از Golang برای سرور پشتیبان ابزار Administrator خود استفاده می‌کند.

این به مدیرانی که از 1Password را برای تجارت به کار می‌برند اجازه می‌دهد تا به راحتی 1Password را مدیریت کرده و حساب‌ها را بازیابی کنند. «Keybase» یک دایرکتوری کلید منبع آزاد به حساب می‌آید و به کاربران امکان می‌دهد هویت‌ها را تایید و پیام‌ها را رمزگذاری کنند. این سرویس نیز از زبان برنامه نویسی Go استفاده می‌کند، زیرا کتابخانه‌های آن به خوبی با هم کار می‌کنند.

کاربرد Golang در پلتفرم های پخش موسیقی و ویدیو

زبان Go بسیار کارآمد است و از پرکاربردترین فایل‌ها و فرمت‌های رمزگذاری پشتیبانی می‌کند و این باعث می‌شود گولنگ به انتخاب خوبی برای پخش آنلاین موسیقی و ویدیو تبدیل شود. برای مثال، پلتفرم «SoundCloud» حدود شش سرویس و بیش از ده‌ها مخزن نوشته شده با Golang را نگهداری می‌کند. «Peter BourGon»، یکی از مهندسان SoundCloud راجع به زبان گو می‌گوید:

ما از اولین شرکت‌هایی بودیم که گولنگ را پذیرفتیم. در واقع از زمان انتشار نسخه Pre-1.0 ما از این زبان استفاده می‌کردیم و با استفاده از آن توانستیم به طرز شگفت‌انگیزی از پس تمام چالش‌های پیش رو با موفقیت برآییم.

کاربرد زبان Go در گفتگوی آنلاین و پیام رسان ها

در سایت Twitch از زبان برنامه نویسی Go برای سرویس گفتگوی آنلاین استفاده می‌شود؛ در این سرویس، کاربران روزانه صدها میلیارد پیام مبادله می‌کنند. APIهای وب، سرویس‌های جستجو و کشف، سیستم‌های درآمدی و ابزارهای مدیریتی آن نیز حداقل تا حدی با Golang نوشته شده‌اند. Slack به بخش مهمی از زندگی کاری خیلی از ما تبدیل شده است. مهندسان Slack از Golang برای پروژه‌های مختلفی از جمله پیمایش بر روی سیستم صف کاری استفاده می‌کنند.

این سیستم برای هر پست پیام، اعلانات ارسال، یادآور تقویم و غیره مورد استفاده قرار می‌گیرد و بیش از 1.4 میلیارد وظیفه را با سرعت 33 هزار در ثانیه پردازش می‌کند. ادغام Kafkagate، سرویسی مستقل از وضعیت که در گولنگ نوشته شده است، برای اطمینان از این مسئله کلیدی بود که Slack می‌تواند با این سرعت و فراتر از آن ادامه دهد.

کاربرد زبان برنامه نویسی Go در توسعه بازی های کامپیوتری

کتابخانه‌ها ابزارهایی برای سادگی در نوشتن کدها هستند. برخی از کتابخانه‌های موجود در Golang برای بازی توسعه یافته‌اند، از جمله Nano که یک کتابخانه سرور بازی است. این امر زبان برنامه نویسی Go را به گزینه‌ای محبوب برای شرکت‌های بازی مانند «Riot Games» و سازندگان «League of Legends» تبدیل می‌کند.

آقای «Aaron Torres» مدیر مهندسی در شرکت «Riot Games»، می‌گوید آن‌ها گولنگ را به این دلیل به عنوان یکی از زبان‌های برنامه نویسی خود انتخاب کرده‌اند که کدهای Golang را می‌توان خیلی سریع توسعه داد، زبان Go کتابخانه استاندارد بزرگ و قدرتمندی دارد و از پشتیبانی عالی شخص ثالث برخوردار است.

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

زبان برنامه نویسی Go به وضوح برای بسیاری از پروژه‌ها و سازمان‌ها مناسب است. در این بخش نگاهی به مزایای برنامه نویسی با Go می‌اندازیم. ابتدا مزایا را در ادامه فهرست کرده‌ایم و سپس به هر یک از آن‌ها به طور جداگانه در زیربخش‌هایی مجزا پرداخته‌ایم.

  • سادگی زبان برنامه نویسی Go
  • منحنی یادگیری هموار زبان Go
  • سرعت بالای زبان برنامه نویسی Go
  • سرعت بالای زبان برنامه نویسی Go
  • وجود پشتیبانی خوب از زبان Go
  • وجود ابزار گسترده برای زبان Go

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

زبان گو به هرآنچه یک برنامه نویس نیاز دارد، مانند کتابخانه آزمایشی پایه، اصول اولیه همگام‌سازی، قالب‌بندی و سایر موارد مجهز است که این امر باعث کاهش وابستگی هنگام کدنویسی با Go می‌شود. سازگاری پیشرو یکی از ویژگی‌های برنامه‌های کاربردی گولنگ است که باعث می‌شود همه چیز ساده نگه داشته شود. این مفهوم تضمین می‌کند که به‌روزرسانی‌های Go باعث خرابی و درگیری در سایر بخش‌های یک پروژه نمی‌شود.

منحنی یادگیری هموار زبان Go

منحنی یادگیری Go به‌طور قابل توجهی کم‌عمق است. یعنی به آسانی می‌توان با مطالعه مستندات، از سینتکس بدون حاشیه و کاملاً واضح زبان گولنگ استفاده کرد. برخی تا جایی پیش می‌روند که می‌گویند: «می‌توان Go را در یک بعدازظهر یاد گرفت». کمتر از ۳۰ کلیدواژه برای زبان گو وجود دارد که همین می‌تواند نشانگر سادگی این زبان برای یادگیری باشد؛ در واقع ساخت یک برنامه کوچک با Go مثل آب خوردن است.

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

گو زبانی کامپایلری است. برخلاف زبان‌های مفسری، زبان‌های کامپایلری مستقیماً قبل از اجرا به کدهای ماشین ترجمه می‌شوند. این به معنای اجرای سریع‌تر و کارآمدتر است. ایستا بودن و «بازیافت حافظه» (Garbage Collector) موثر زبان Go، سرعت آن را نسبت به سایر زبان‌های برنامه نویسی سطح بالا کمی بیشتر می‌کند. حتی در مقایسه با جاوا، می‌توان گفت زبان Go همچنان در هر معیاری سریع‌تر است.

وجود پشتیبانی خوب از زبان Go

می‌توان ساخت برنامه‌های گولنگ را روی ویندوز، لینوکس و مک انجام داد. IDEها و ویرایشگرهای زیادی نیز وجود دارند که از زبان Go پشتیبانی می‌کنند. از جمله آن‌ها می‌توان به موارد زیر اشاره کرد:

  • Emacs
  • Vim
  • VSCode
  • Atom
  • Eclipse
  • Sublime
  • IntelliJ

وجود ابزار گسترده برای زبان Go

به عنوان زبانی متن باز، Go با ابزارها و تغییراتی که مفید بودن آن را تقویت می‌کنند ناآشنا نیست. برای مثال، مخزن گیت‌هاب Go، از پلاگین‌های مختلفی برای افزودن به برنامه کاربردی گولنگ تشکیل شده است. ابزارهای ارزشمندی چون «Gotests» و «Revive» وجود دارند، Gotests راه آسانی برای تولید تست‌های جدول محور از طریق منطق اصلی ارائه می‌دهد.

«Revive» فریمورکی را برای توسعه قوانین سفارشی در Go تعمیم می‌دهد. در ادامه مطلب زبان برنامه نویسی Go چیست به دلایل اهمیت یادگیری Go می‌پردازیم، پیش از آن اما مجموعه دوره‌های آموزش برنامه نویسی فرادرس را به علاقه‌مندان یادگیری برنامه نویسی معرفی کرده‌ایم.

در پلتفرم فرادرس، دوره‌های آموزشی گوناگون، بر اساس عنوان و موضوع طبقه‌بندی شده‌اند و بر این اساس، مجموعه‌های آموزشی مختلفی را در سایت فرادرس ایجاد کرده‌ایم. یکی از این مجموعه‌های متعدد، مربوط به آموزش‌های برنامه نویسی است. به بیان دیگر، برای زبان‌های برنامه نویسی مختلفی مثل Go، پایتون، ++C، سی‌شارپ، جاوا و همچنین انواع حوزه‌های مختلف برنامه نویسی مثل توسعه وب، برنامه نویسی اندروید و بسیاری از موارد دیگر، مجموعه‌های آموزشی مختلفی ایجاد شده‌اند که علاقه‌مندان می‌توانند بسته به نیازشان و مسیر برنامه نویسی مورد علاقه خود از هر کدام از این مجموعه‌های آموزشی استفاده کنند. تنها کافی است عبارت «مجموعه آموزش X فرادرس» را در موتورهای جستجو وارد و به جای علامت X، موضوع مورد نظر خود را وارد کنیم.

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

دوره های مرتبط با زبان برنامه نویسی Go در مجموعه فرادرس

در ادامه برخی از شاخص‌ترین دوره‌های مجموعه آموزش برنامه نویسی فرادرس که بیشترین ارتباط را با زبان برنامه نویسی Go دارند به طور خلاصه معرفی شده‌اند:

  • فیلم آموزش زبان برنامه نویسی Go– مقدماتی (زمان تقریبی: ۵ ساعت، مدرس: محمد‌ جواد صابری نسب): در این آموزش به موضوعات اولیه برنامه نویسی Go پرداخته شده است و مخاطبان بدون هیچ پیش‌نیاز و دانش برنامه نویسی می‌توانند موضوعات را فرا بگیرند. برای مشاهده فیلم آموزش زبان برنامه نویسی Go مقدماتی + کلیک کنید.
  • فیلم آموزش زبان برنامه نویسی Go – تکمیلی (زمان تقریبی: 4 ساعت، مدرس: محمد‌ جواد صابری نسب): در این دوره آموزشی فرادرس، سعی شده است تمامی مباحث با استفاده از مثال‌های عینی و کاربردی توضیح داده شوند تا علاوه بر یادگیری سینتکس، جایگاه استفاده صحیح آن‌ها را هم یاد بگیرید و ببینید که چطور می‌توانید برنامه‌های خود را بنویسید و با کمک ابزارهایی که این زبان برنامه نویسی در اختیار ما قرار می‌دهد، آن‌ها را بهینه کنید. برای مشاهده فیلم آموزش زبان برنامه نویسی Go تکمیلی + کلیک کنید.
  • فیلم آموزش پروژه‌ محور زبان برنامه نویسی Go – سیستم انبار‌داری (زمان تقریبی: ۳ ساعت، مدرس: محمد‌ جواد صابری نسب): در این دوره فرادرس برنامه‌ای بزرگ با جزئیات بالا مثل پیاده‌سازی سیستم انبارداری به صورت رابط خط فرمان یا CLI با استفاده از زبان برنامه نویسی Go پیاده‌سازی شده است و نیاز‌های برنامه نویسی با توابع و متد‌هایی فراهم شده‌اند که یک زبان تابع‌گرا در اختیار ما قرار می‌دهد. برای مشاهده فیلم آموزش پروژه‌ محور زبان برنامه نویسی Go – سیستم انبار‌داری + کلیک کنید.
  • فیلم آموزش برنامه نویسی Python - مقدماتی (زمان تقریبی: 20 ساعت، مدرس: پژمان اقبالی شمس آبادی): در این آموزش تمام مباحث مقدماتی لازم برای برنامه نویسی با پایتون پوشش داده شده است و مخاطبان این آموزش نیاز به دانش قبلی از پایتون ندارند. پایتون یکی از بهترین و محبوب‌ترین زبان‌ها برای شروع به حساب می‌آید؛ چرا که یادگیری آن آسان است و در بسیاری از حوزه‌های مختلف برنامه نویسی می‌توان از پایتون استفاده کرد. برای مشاهده فیلم آموزش زبان برنامه نویسی Python مقدماتی + کلیک کنید.
  • فیلم آموزش برنامه نویسی C++‎ (زمان تقریبی: ۲۰ ساعت، مدرس: دکتر فرشید شیرافکن): تمام نرم افزارهایی که به صورت روزمره در ویندوز با آن‌ها کار می‌کنیم توسط زبان مادر، سی و سی‌پلاس‌پلاس نوشته شده‌اند و در صنعت خودروسازی، فضایی، معماری، بانکی، کنسول بازی و سایر زمینه‌ها کاربرد دارند. هدف این دوره فرادرس آموزشC++ ‎ در دو بخش معرفی دستورات و ساختمان داده و بیان مفاهیم شی گرایی است. برای مشاهده فیلم آموزش برنامه نویسی سی پلاس پلاس + کلیک کنید.
  • فیلم آموزش کدنویسی تمیز Clean Code برای برنامه نویسی (زمان تقریبی: ۳ ساعت، مدرس: محمد‌ جواد صابری نسب): بر اساس برنامه نویسی تمیز، با رعایت اصولی در تمامی قطعه‌کدها، به راحتی می‌توان کدهای شخص دیگر یا کدهای گذشته خود را درک و در صورت نیاز اصلاح کرد. همچنین، با استفاده از این اصول، در گروه‌های بزرگ که هر شخص وظیفه انجام قسمتی از کد را دارد، می‌توانیم ایفای نقش کرده و در نهایت کدی یکنواخت و اصولی طراحی کنیم. برای مشاهده فیلم آموزش کدنویسی تمیز Clean Code برای برنامه نویسی + کلیک کنید.

چرا باید زبان برنامه نویسی Go را یاد بگیریم ؟

زبان گو آسان است. بسیاری از توسعه‌دهندگان موافق هستند که ورود به آن آسان است و کدهیا قابل درکی دارد. یادگیری گولنگ، از لحاظ قدرت و تطبیق‌پذیری آن، بسیار ارزشمند خواهد بود. Go زبانی است که می تواند کارهای زیادی از توسعه زیرساخت گرفته تا برنامه نویسی وب و پردازش داده‌ها را انجام دهد. Golang برای سرویس‌های ابری بسیار ایده‌آل است و خدمات وب آمازون، مایکروسافت آژور و پلتفرم ابری گوگل (GCP) همه به عنوان یک زبان اصلی، پشتیبانی بی‌نقصی از گو را ارائه می‌دهند. بنابراین اگر در حال برنامه نویسی ابری هستید، Go یک انتخاب عالی است.

گو جامعه اوپن‌سورس پویا و فعالی دارد که ماژول‌ها و کتابخانه‌های آن را توسعه می‌دهند، به تازه‌واردان کمک می‌کنند و در توسعه پروژه Go نیز مشارکت دارند. براساس نظرسنجی‌ها، درآمد توسعه‌دهندگان گولنگ نسبت به سایر برنامه‌نویسان زبان‌های مختلف، بالاتر است. بنابراین اگر به یادگیری یک زبان برنامه نویسی علاقه‌مند هستید که بتواند کارهای زیادی انجام دهد، جامعه کاربری مناسبی داشته باشد و یادگیری آن نیز ساده باشد، Golang را مد نظر قرار دهید. به طور کلی، دلایل جذابیت زبان برنامه نویسی Go شامل موارد زیر می‌شود.

  • سادگی برای استفاده و یادگیری
  • جامعه کاربری و مستندسازی خوب
  • کتابخانه‌های استاندارد چشمگیر
  • امنیت قدرتمند
  • دستمزدهای جذاب

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

پس از ارائه توضیحات لازم در مورد اینکه زبان برنامه نویسی Go چیست و چرا باید آن را یاد بگیریم، نوبت به بخش عملی یادگیری این زبان می‌رسد. اگر صرفاُ به‌ دنبال محیطی به‌منظور تست برنامه‌های ساده و دیدن سینتکس زبان Golang هستید، برای مشاهده آن می‌توان از منبع کاربردی [+] استفاده کرد. اما اگر در مورد یادگیری Go جدی هستید، ابتدا باید آن را روی رایانه خود نصب کنید.

تیم توسعه دهنده Go، بسته‌های نصب از پیش ساخته شده این زبان را برای سیستم عامل‌های لینوکس، مک و ویندوز ارائه داده‌اند. همچنین اگر نیاز به نصب Golang روی سیستم عامل متفاوتی داشتید، بسته آن از سایت مرجع زبان گو [+] در دسترس است.

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

برای نصب Go بر روی سیستم لینوکسی، چندین راه وجود دارد. اگر روی رایانه شما Snaps از قبل نصب شده است، می‌توانید آخرین نسخه Golang را با اجرای دستور زیر دریافت کنید.

در غیر اینصورت می‌توان بررسی کرد آیا بسته‌های توزیعی Go بر روی مخازن سیستم شما وجود دارند یا خیر. برای مثال، کاربرانی که از سیستم لینوکس بر پایه آرچ استفاده می‌کنند، باید دستور زیر را اجرا کنند.

خطای اصلی هنگام استفاده از روش فوق این است که این احتمال وجود دارد که همیشه آخرین نسخه را دریافت نکنید؛ به خصوص اگر توزیع شما از برنامه زمان‌بندی انتشار پیروی نکند. روش تضمینی برای دریافت آخرین نسخه گو، دانلود آرشیو توزیع Go از [+] برای لینوکس و استخراج آن در مسیر /usr/local/  است.

اطمینان حاصل کنید که در /usr/local/go/bin  ، مسیر PATH  خود را پس از استفاده از این روش برای نصب گو وارد کرده اید. می‌توان این کار را با اضافه کردن خط زیر به فایل متنی ~/.profile  یا ~/.bash_profile  انجام داد. بنابراین این فایل ~/.profile  را باز کرده و دستور زیر را کپی و در آن اضافه کنید.

برای اعمال فوری تغییرات خود نیاز به اجرای source ~/.profile  یا source ~/.bash_profile  دارید، قبل از اینکه دستور go  در دسترس قرار گیرد.

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

فایل قابل اجرا برای ویندوز با پسوند ‎.msi‎ را از [+] دانلود کنید. آن را باز کرده و با توجه به دستورالعمل‌های نصب Go، مراحل آن را پیش ببرید. به صورت پیش فرض ابزارهای Go در مسیر C:\Go  نصب خواهند شد.

تست نصب صحیح Go

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

خروجی دستور بالا، از نسخه Go نصب شده و معماری سیستم شما تشکیل می‌شود. به عنوان نمونه، خروجی زیر نشان دهنده نسخه Go1.14.1 روی سیستمی لینوکسی است.

اگر سیستم عامل شما ویندوز است و این اطلاعات را نمی‌بینید، Go را در متغیر سیستمی PATH  خود بررسی کنید. حتما قبل از ادامه، نصب خود را عیب‌یابی و آن را راه‌اندازی کنید.

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

برنامه‌های Go در فایل‌های متنی ساده UTF-8 با پسوند ‎.Go نوشته می‌شوند تا بتوان از هر کد ادیتوری برای برنامه نویسی در Go استفاده کرد. با این حال، توصیه به استفاده از VSCode می‌شود، زیرا با کمک افزونه vscode-Go از پشتیبانی قوی Go برخوردار خواهید شد. این افزونه پس از نصب، کدهای شما را مجهز به قالب‌بندی و تکمیل کد را به صورت هوشمندانه انجام می‌دهد.

مطمئن باشید که گزینه قالب‌بندی را فعال کرده‌اید و قوانین قالب‌بندی که برای کدها به‌طور پیش‌فرض استفاده می‌شوند را رعایت کنید، حتی اگر اولویت‌بندی یا ترجیحات خود را در کدنویسی داشته باشید. این کار به این دلیل است که روش اصطلاحی برای قالب‌بندی تمام کدهای Go با استفاده از ابزار Gofmt انجام می‌شود که افزونه vscode-Go به طور پیش فرض از آن استفاده می‌کند.

آموزش نوشتن اولین برنامه به زبان Go

پس از نصب Go و آماده‌سازی محیطی برای نوشتن کدهای آن، می‌توان به سراغ کدنویسی اولین برنامه گولنگ رفت. طبق احترام به سنتی دیرینه در یادگیری زبان جدید برنامه نویسی، اولین برنامه چاپ کردن متن «Hello World» در صفحه نمایش است، که در ادامه نحوه انجام آن را آزمایش می‌کنیم.

ساخت دایرکتوری پروژه برای کدها

اولین قدم برای ذخیره کدهای Go، ساخت دایرکتوری جدید است. در گذشته، ساخت پروژه‌های گو در داخل متغیر محیطی GOPATH  اجباری بود، زیرا تعیین کننده مکانی بود که Go باید همه فایل‌های منبعی که برای کامپایل کدهای پروژه استفاده می‌کند را از آنجا بخواند و دانلود کند. GOPATH  به صورت پیش‌فرض در سیستم‌های یونیکسی در مسیر $HOME/go  و در سیستم‌های ویندوزی در مسیر %USERPROFILE%\go  قرار دارد، اگرچه می‌توان دایرکتوری مربوط به آن را جابه‌جا کرد.

از نسخه Go1.11، به دلیل معرفی ماژول‌های Go (در ادامه در مورد آن صحبت خواهیم کرد) دیگر انجام این کار ضروری نیست. اکنون می‌توان پروژه‌های Go خود را در هر جایی از سیستم فایل ایجاد کرد و برای کامپایلر Go اهمیتی ندارد. می‌توان دایرکتوری برای پروژه خود ایجاد کرده و با استفاده از دستورات زیر آن را تغییر داد.

نوشتن و اجرای برنامه Go

یک فایل main.go  جدید در دایرکتوری پروژه خود ایجاد کنید و آن را در ویرایشگر متن خود باز کنید. کد زیر را در فایل وارد کرده و ذخیره کنید.

به ترمینال رفته و دستور زیر را برای کامپایل برنامه وارد کنید:

با این دستور یک فایل باینری main  در دایرکتوری پروژه شما ساخته می‌شود. برای اجرای برنامه در ترمینال خود دستور ./main  را وارد کنید. حال باید در صفحه شما متن Hello, world!  چاپ شود. اگر موفق شدید، تبریک می‌گویم، شما اکنون رسماً بخشی از انجمن Go هستید.

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
Smiley face مدیر سایت:

هر گاه خبرهای بد را به عنوان یك نیاز به تغییر و نه یك خبر منفی پذیرفتید، شما از آن شكست نخورده اید، بلكه چیزهای تازه ای از آن آموخته اید.

ارتباط مستقیم با مدیر:

به اشتراک گذاری تمام پروژه های تکمیل شده، مطالب دانشگاهی، اخبار فناوری اطلاعات و ارتباطات و آموزش این حرفه از اهداف این وبلاگ میباشد

دنبال کنندگان ۱ نفر
این وبلاگ را دنبال کنید
تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران
آخرین نظرات