Введення

Що таке Go і чим він цікавий? #

Мова програмування Go була розроблена компанією Google. Почали розробляти її у далекому 2007. Проектуванням її займались розробники Роберт Гризмер, Роб Пайк та Кен Томпсон, які до цього часу працювали над операційною системою Inferno. (Це операційна система для побудови додатків які можуть працювати на різних платформах незалежно від архітектури процесора та основної операційної системи. Доречі, в цій операційній системі була своя мова програмування Limbo.)

Чим Go так цікава і чому на неї такий попит? #

Основною метою створення цієї мови було поєднання швидкості роботи додатку, близькому до швидкості написаного на компільованій мові, такій як C/C++ з простотою і швидкістю написання та налагодження, як у python, PHP та інших інтерпретованих мовах. (програма працює швидко як на C, та зручно писати , як на python). Інтерпретовані - це мови програмування код з яких перетворюється зі зрозумілого для людини на код зрозумілий для комп’ютера при виконанні. Тобто спеціальна програма-інтерпретатор зчитує актуальну версію написаного людиною коду і перекладає одразу його для виконання машині. Компільована мова - це мова коли такий переклад відбувається один раз і далі вже програма розповсюджується у вигляді виконуваного файлу (наприклад, файл з розширенням .exe у операційній системі Windows)

Що можна створити на Go? #

Go - це мова програмування, яка призначена для дуже широкого спектру задач. На ній можна написати консольні додатки та інструменти, невеличкі допоміжні програми і інструменти. Так само як можна зробити це на python або PHP. Та найголовніше - ви можете виконати свою програму без необхідності встановлювати перед цим інтерпретатор!

Чим Go може бути корисний для Web? #

Ось ми і дістались до найголовнішого. Як ви можливо знаєте, я працюю Web-розробником вже 20 років. Раніше розробку я вів на мові PHP. Чим же мене зацікавив саме Go? В сучасному світі ми все більше і більше переходимо на хмарні обчислення і виконання програм. Це ставить перед нами певні вимоги щодо програмного забезпечення. Додаток для хмари повинен бути якомога меншим і простішим, щоби залежність його від операційної системи або середовища виконання була мінімальною. Чим простіше додаток - тим скоріше він може бути розвернутий та запущений на новому вузлі хмари. Для запуску додатку на php нам знадобиться 3 основні компоненти - веб-сервер (nginx, apache), сам інтерпретатор php і наш код. Наш код буде інтерпретуватись ядром php кожен раз, що позначиться на швидкості роботи нашої програми. Програма написана на Go не потребує ніяких додаткових програм для запуску. Ми можемо створити все всередині, і для цього у складі мови вже є зручні і прості у використанні компоненти. Тобто всі три компоненти в нас будуть в одному виконуваному файлі програми, який швидко переноситься через невеличкий розмір і швидко запускається. Це чудово!

Як працювати з Go? #

Для розробки на Go нам знадобиться будь-який сучасний компʼютер з клавіатурою, мишкою, монітором, а також встановленою на ньому операційною системою. Операційна система - Windows 10, macOS Catalina 10.15 або Linux. Я використовую Linux при розробці, проте можу допомагати вам налаштувати на вашій системі.

Підготовка оточення #

Тепер, коли в нас є компʼютер на якому ми можемо вести розробку, нам потрібно встановити потрібні нам програми. Першою програмою яку ми встановимо буде компілятор. Компілятор - це додаток, який буде програму, що ми напишемо на мові Go, яка буде зрозуміла для нас, перетворювати на машинний код, який буде зрозумілий компʼютеру. Найновішу версію компілятора для мови Go ви можете завжди завантажити з офіційного сайта за посиланням: https://go.dev/dl/

Після того як ми скачали і встановили компілятор, нам потрібен редактор коду, який буде зручний для нас. Насправді, можна редагувати код і звичайним блокнотом, та з часом наш проєкт буде збільшуватись і орієнтуватись у ньому буде дуже складно. Тож одразу потурбуємось про наш комфорт і встановимо IDE - програму, яка буде підсвічувати синтаксис та надавати можливість швидкого пошуку і переходу на потрібні місця, так звана навігація по файлам нашого проєкту. В якості IDE можна використовувати • Visual Studio Code • GoLand • LiteIDE

Якщо це ваше перше знайомство з програмуванням, то я рекомендую взяти VS Code, завантажити який можна безкоштовно з офіційного сайту https://code.visualstudio.com Додатково у ньому потрібно встановити розширення. Документацію до якого можна знайти за посиланням https://code.visualstudio.com/docs/languages/go