Найти Ρ‚Π΅ΠΌΡƒ
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста

πŸƒ Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Go для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 1. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈ сфСра примСнСния Go, установка, настройка

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС особСнности Go, Π΅Π³ΠΎ прСимущСства ΠΈ нСдостатки, Π° Ρ‚Π°ΠΊΠΆΠ΅ настроим Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство для ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π§Π°ΡΡ‚ΡŒ 2 β†’

РСсурсы для изучСния Go с нуля

НСмного о Go

Π―Π·Ρ‹ΠΊ программирования Go, Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ Golang, разрабатывался ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ Google с 2007 Π³ΠΎΠ΄Π° ΠΈ Π±Ρ‹Π» прСдставлСн ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ΅ Π² 2009 Π³ΠΎΠ΄Ρƒ. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΎΠ½ стал популярным инструмСнтом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, привлСкая Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… программистов ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π·Π° счСт своих возмоТностСй. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Go Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ развиваСтся ΠΈ поддСрТиваСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ сообщСством энтузиастов, Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ самых вострСбованных языков программирования.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Go проСктировался с ΡƒΠΏΠΎΡ€ΠΎΠΌ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, поэтому ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» сСбя Π² микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΈ сСрвСрных прилоТСниях, DevOps, CLI-прилоТСниях, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².

πŸ‘¨β€πŸ’» Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Β»

πŸ’Ό Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для собСса

ΠŸΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ свои знания ΠΏΠΎ Go Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go для собСса»

🧩 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ Go

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Go для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ GoΒ»

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Go

   ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Go
ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Go

ΠŸΠΎΠ½ΡΡ‚Π½Ρ‹ΠΉ синтаксис

Go Π±Ρ‹Π» создан с Ρ†Π΅Π»ΡŒΡŽ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π»Π΅Π³ΠΊΠΈΠΌ для чтСния. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΡƒΠ±Ρ€Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ лишниС элСмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ синтаксис языка стал Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ простым для понимания.

ЭффСктивная Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ

Одним ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… прСимущСств Go являСтся Π΅Π³ΠΎ встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, способныС эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ многопроцСссорныС систСмы.

Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Go компилируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ ускоряСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Благодаря своСй высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠ½ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ микросСрвисов.

ΠžΠ±ΡˆΠΈΡ€Π½Π°Ρ стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Go ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈΡΡŒ Π½Π°Π΄ созданиСм ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ найдутся Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ инструмСнты для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для форматирования ΠΈ тСстирования, создания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π°Π½Π°Π»ΠΈΠ·Π° исходного ΠΊΠΎΠ΄Π° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок ΠΈ ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ памяти, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π Π°Π·Π²ΠΈΡ‚ΠΎΠ΅ сообщСство

Go ΠΈΠΌΠ΅Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ сообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всСгда Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π»ΡŽΠ±Ρ‹Π΅ вопросы ΠΈ ΠΏΠΎΠΌΠΎΡ‡ΡŒ с ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ языка. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ΠΈ постоянно ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ инструмСнты ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Тизнь ΠΌΠ½ΠΎΠ³ΠΈΠΌ программистам.

НСдостатки Go

   НСдостатки Go
НСдостатки Go

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ сфСра примСнСния

Go ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» сСбя Π² создании сСтСвых ΠΈ сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… областях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΊΠ°ΠΊ мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½ навряд Π»ΠΈ составит ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языкам.

Излишняя простота

Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ плюс, ΠΈ минус. Из-Π·Π° ΡƒΡ€Π΅Π·Π°Π½Π½ΠΎΠ³ΠΎ синтаксиса ΠΌΠ½ΠΎΠ³ΠΈΠ΅ конструкции Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ приходится Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° отсутствиС соврСмСнного ООП Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ограничСния Π½Π° созданиС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Установка Go

   Установка Go
Установка Go

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ установкС Go для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Для этого понадобится ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ настроСк систСмы ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

ПослС установки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ настройкС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды. Они Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ систСмС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ располоТСниС Ρ„Π°ΠΉΠ»ΠΎΠ² Go. ВсСго Π½Π°ΠΌ понадобится Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды:

  • PATH – позволяСт систСмС Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π±Π΅Π· указания ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ
  • GOPATH – ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° мСсто, Π³Π΄Π΅ Go Ρ…Ρ€Π°Π½ΠΈΡ‚ скомпилированныС ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ послС любого ΠΈΠ· способов Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ go version, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ Π² систСмС Π²Π΅Ρ€ΡΠΈΡŽ Go.

Установка Go Π½Π° Windows

  1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ мастСр установки с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта.
  2. ЗапускаСм скачанный Ρ„Π°ΠΉΠ» ΠΈ слСдуСм инструкциям Π½Π° экранС.

Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды

  1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Go Π² любом ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ мСстС. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм C:\\GoWorkspace.
  2. ДобавляСм Π² созданный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π΄Π²Π΅ ΠΏΠ°ΠΏΠΊΠΈ: bin для хранСния исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ src для исходного ΠΊΠΎΠ΄Π°.
  3. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² панСль управлСния β†’ БистСма ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’ БистСма β†’ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ систСмы β†’ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды.
  4. НаТимаСм Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ срСдами ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  5. Π’ строкС Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ GOPATH, Π² ΠΏΠΎΠ»Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ пишСм ΠΏΡƒΡ‚ΡŒ ΠΊ созданной Ρ€Π°Π½Π½Π΅Π΅ ΠΏΠ°ΠΏΠΊΠ΅ (Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ C:\\GoWorkspace).
  6. БохраняСм внСсСнныС измСнСния.
  7. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ PATH. Для этого ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚Π° 3 ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Path. НаТимаСм Π΄Π²Π° Ρ€Π°Π·Π° для просмотра значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ bin языка Go. Π§Π°Ρ‰Π΅ всСго это C:\\Program Files\\Go\\bin. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ ΠΏΡ€ΠΈ установкС Go, мСняСм Π΅Π³ΠΎ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

Установка Go Π½Π° Linux

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Snap

ΠŸΡ€ΠΎΡ‰Π΅ всСго ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Go с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Snap, которая прСдоставляСт, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии языка. Для этого потрСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всСго лишь ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² apt

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ простой способ – ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Go с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² apt. НСдостаток этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ apt ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии языка.

ОбновляСм ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄ΠΎ послСдних вСрсий

УстанавливаСм Go

Π‘ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта

Π­Ρ‚ΠΎΡ‚ способ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ прСдоставляСт самыС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΈ позволяСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости.

  1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π°Ρ€Ρ…ΠΈΠ² с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта
  2. РаспаковываСм Π°Ρ€Ρ…ΠΈΠ² Π² ΠΏΠ°ΠΏΠΊΡƒ /usr/local. ΠŸΡ€ΠΈ нСобходимости измСняСм Π½ΠΎΠΌΠ΅Ρ€ вСрсии Π½Π° Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ скачанного Π°Ρ€Ρ…ΠΈΠ²Π°.

3. ДобавляСм ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ Π² PATH ΠΈ примСняСм измСнСния.

Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды

1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Go Π² любом ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ мСстС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ: bin для хранСния исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ src для исходного ΠΊΠΎΠ΄Π°:

2. ДобавляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ GOPATH Π² систСму. Для этого ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» ~/.profile:

3. Π’Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строчки Π² Ρ„Π°ΠΉΠ» /.profile:

4. ОбновляСм ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ:

5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ $PATH с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ echo:

6. Π’ строкС Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСнный Π½Π°ΠΌΠΈ ΠΏΡƒΡ‚ΡŒ /usr/local/go/bin:

Установка Go Π½Π° MacOS

  1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ мастСр установки с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта.
  2. ЗапускаСм скачанный Ρ„Π°ΠΉΠ» ΠΈ слСдуСм инструкциям мастСра установки.

Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Ρ‚ΠΎΠΉ, которая Π±Ρ‹Π»Π° описана Π²Ρ‹ΡˆΠ΅ для Linux, Π·Π° ΠΎΠ΄Π½ΠΈΠΌ СдинствСнным ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ – вмСсто Ρ„Π°ΠΉΠ»Π° ~/.profile Π² MacOS Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ~/.bash_profile.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ IDE

   Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ IDE для Go
Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ IDE для Go

ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Ρ…ΠΎΡ‚ΡŒ Π½Π° листС Π±ΡƒΠΌΠ°Π³ΠΈ, Π½ΠΎ соврСмСнныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΈ IDE (интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для Ρ€Π°Π±ΠΎΡ‚Ρ‹.

  1. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ программистов Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Visual Studio Code (VS Code) ΠΈΠ·-Π·Π° лСгковСсности, доступности ΠΈ возмоТностСй ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ настройки. Π‘ΠΎΠ²Π΅Ρ‚ΡƒΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ с этого Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π·Π° счСт своСй простоты ΠΈ эргономичности.
  2. Π”Ρ€ΡƒΠ³ΠΎΠΉ популярный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для Go Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² – проприСтарная IDE Goland ΠΎΡ‚ JetBrains. Она Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Π° ΠΏΠΎΠ΄ язык ΠΈ поэтому ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Visual Studio Code.

Установка ΠΈ настройка VS Code

Для ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ установим VS Code ΠΈ настроим ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ синтаксиса Go.

  1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта.
  2. ЗапускаСм скачанный Ρ„Π°ΠΉΠ» ΠΈ слСдуСм инструкциям Π½Π° экранС.
  3. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ VS Code ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² панСль Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ горячих клавиш CTRL + SHIFT + X.
  4. Π˜Ρ‰Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Go ΠΎΡ‚ Go Team at Google ΠΈ скачиваСм Π΅Π³ΠΎ.
  5. ПослС установки ΠΌΠΎΠΆΠ΅Ρ‚ появится сообщСниС Π²ΠΈΠ΄Π° gopls command is not available. Π§Ρ‚ΠΎΠ±Ρ‹ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, установитС ΠΏΠ°ΠΊΠ΅Ρ‚ gopls, Π½Π°ΠΆΠ°Π² Π½Π° ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΡƒΡŽΡΡ ΠΊΠ½ΠΎΠΏΠΊΡƒ.
  6. Для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ настройки Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ совСтуСм ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ.

Онлайн-Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π°

БущСствуСт мноТСство ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² для написания ΠΊΠΎΠ΄Π°. Π‘Π°ΠΌΡ‹ΠΉ популярный ΠΈΠ· Π½ΠΈΡ… – Go Playground. Он находится Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ страницС Go ΠΈ развиваСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Go Playground ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ послСдниС вСрсии языка, позволяСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈΠΌ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ познакомились с Go, обсудили Π΅Π³ΠΎ прСимущСства ΠΈ нСдостатки, Π° Ρ‚Π°ΠΊΠΆΠ΅ настроили Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ рассмотрим ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ изучСния Go ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΈΠ· Π½ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящиС для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ самоучитСля

  1. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈ сфСра примСнСния Go, установка, настройка

***

Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅