Π Π°Π·Π½ΠΎΠ΅

Π―ΠΏ go: The Go Programming Language

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ Π² Go / Π₯Π°Π±Ρ€

Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык Go, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Π²Π°ΠΌ прямая Π΄ΠΎΡ€ΠΎΠ³Π° Π² этот пост, Π³Π΄Π΅ я постарался ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² рСсурсы.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с основами:
Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ· списка Π½ΠΈΠΆΠ΅ ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ/Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² процСссС.

Бкринкасты:

Π₯Π°ΠΊΠ°Ρ‚ΠΎΠ½Ρ‹ ΠΈ Ρ‡Π΅Π»Π΅Π½Π΄ΠΆΠΈ:

  • Go Challenge. Learn Go by solving problems and getting feedback from Go experts! β€” ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ поучаствуйтС Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Ρ‡Π΅Π»Π΅Π½Π΄ΠΆΠ΅ΠΉ, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈ Π½Π΅ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎΡ‚ профСссионалов. НапримСр, Π² послСднСм Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π°Π½Π΄Ρ€ΠΎΠΈΠ΄Π°. (EN)

Π’ΠΈΠ΄Π΅ΠΎ:

Π‘Ρ‚Π°Ρ‚ΡŒΠΈ Π½Π° русском

ΠŸΡ€ΠΎ go написано достаточно ΠΌΠ½ΠΎΠ³ΠΎ статСй, ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ Π½Π° русский

КниТки:

РСсурсы:

  • Slack Ρ‡Π°Ρ‚ русскоязычного gopher сообщСства β€” Π² Ρ‡Π°Ρ‚Π΅ сидит ΡƒΠΆΠ΅ большС 500 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, часто ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ интСрСсныС Ρ‚Π΅ΠΌΡ‹. Π’ ΠΊΠ°Π½Π°Π»Π΅ #school ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π»ΡŽΠ±Ρ‹Π΅ вопросы. Π’ ΠΊΠ°Π½Π°Π»Π΅ #job ΠΊΡƒΡ‡Π° вакансий;
  • Русскоязычная google Π³Ρ€ΡƒΠΏΠΏΠ° β€” ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ любой вопрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚;
  • ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ Slack Ρ‡Π°Ρ‚ β€” ΠΌΠ½ΠΎΠ³ΠΎ людСй, ΠΎΠ±Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ, Ссли достаточно свободного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ;
  • Англоязычная google Π³Ρ€ΡƒΠΏΠΏΠ° β€” ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство вопросов Π½Π° английском;
  • Русскоязычный подкаст ΠΎ Go β€” Π² подкастС часто Π±Ρ‹Π²Π°ΡŽΡ‚ гости ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠ°ΠΊ docker, dropbox, cloudflare, coreos, google. Π’Π°ΠΊ ΠΆΠ΅ Π±Ρ‹Π» Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹ΠΉ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π’ΡŒΡŽΠΊΠΎΠ² ΠΈ рассказывал всС сСкрСты ΠΏΡ€ΠΎ Ρ€Π°Π½Ρ‚Π°ΠΉΠΌ Go.
  • Π˜Π³Ρ€Π°, Π³Π΄Π΅ Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° go ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ миссии β€” ОписаниС Π½Π° русском
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° go Π½Π° любой вкус β€” Если ΠΈ Ρ‚ΡƒΡ‚ Π½Π΅ нашли, Ρ‚ΠΎ ΠΈΠ΄Ρ‘ΠΌ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±. ΠŸΠΎΡ‡Ρ‚ΠΈ всё, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ, ΡƒΠΆΠ΅ написано.
  • ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ссылок ΠΏΡ€ΠΎ всё! β€” остороТнСС с этим рСсурсом, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΡƒΠ²Π»Ρ‘ΠΊΡˆΠΈΡΡŒ Π½Π΅Π½Π°Ρ€ΠΎΠΊΠΎΠΌ. (EN)

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹:

  • Плагин для IntelijIdea β€” ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, самый ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт, Ссли Π²Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π΅ Π°Π΄Π΅ΠΏΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²;
  • Плагин для Vim β€” достаточно ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ. Если ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ vim Π²Π°ΠΌ ΠΌΠΈΠ»;
  • Плагин для Emacs β€” для Ρ‚Π΅Ρ… Ρƒ ΠΊΠΎΠ³ΠΎ ΠΏΠ°Π»ΡŒΡ†Ρ‹ гнутся;
  • Плагин для Sublime β€” Π·Π°Π±Ρ€ΠΎΡˆΠ΅Π½, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠΆΠ½ΠΎ. Π― Π½Π΅ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ;
  • Плагин для Atom β€” для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Π·Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ.

ΠœΠΈΡ‚Π°ΠΏΡ‹

Π‘Π΅Π· ΠΆΠΈΠ²ΠΎΠ³ΠΎ общСния Π½ΠΈΠΊΠ°ΠΊ. ВстрСчи проводятся рСгулярно ΠΈ нСсколько Ρ€Π°Π· Π² Π³ΠΎΠ΄.

Π’Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ встрСчи ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π³ΠΎΡ€ΠΎΠ΄Π°Ρ…. НапримСр Π² НовосибирскС.

БообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Go ΠΎΡ‡Π΅Π½ΡŒ большоС. Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ.

Go | Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Go

ПослСднСС обновлСниС: 13.05.2019

Go прСдставляСт ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google. Π―Π·Ρ‹ΠΊ Go ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для
создания Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго это Π²Π΅Π±-сСрвисы ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрныС прилоТСния. Π₯отя Ρ‚Π°ΠΊΠΆΠ΅ язык ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ возмоТностями ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ возмоТностями ΠΈ Ρ‚.Π΄.

Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ языком Go Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² 2007 Π² Π½Π΅Π΄Ρ€Π°Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google. Одним ΠΈΠ· Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² являСтся КСн Вомпсон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊ слову, являСтся ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·
Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² языка Π‘ΠΈ (наряду с ДСнисом Π ΠΈΡ‚Ρ‡ΠΈ). 10 ноября 2009 Π³ΠΎΠ΄Π° язык Π±Ρ‹Π» анонсирован, Π° Π² ΠΌΠ°Ρ€Ρ‚Π΅ 2012 Π³ΠΎΠ΄Π° Π²Ρ‹ΡˆΠ»Π° вСрсия 1.0.
ΠŸΡ€ΠΈ этом язык ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ. Π’Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсиСй Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ являСтся вСрсия 1.12, которая Π²Ρ‹ΡˆΠ»Π° Π² Ρ„Π΅Π²Ρ€Π°Π»Π΅ 2019 Π³ΠΎΠ΄Π°.

Π―Π·Ρ‹ΠΊ Go развиваСтся ΠΊΠ°ΠΊ open source, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ прСдставляСт ΠΏΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ всС Π΅Π³ΠΎ ΠΊΠΎΠ΄Ρ‹ ΠΈ компилятор ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ бСсплатно.
ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° — https://golang.org, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ языкС.

Go являСтся кроссплатформСнным, ΠΎΠ½ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы — Windows, Mac OS, Linux, FreeBSD. Код ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ:
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС для ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ с пСрСкомпиляциСй пСрСнСсСны Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ОБ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности языка Go:

  • ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ — компилятор транслируСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Go Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, понятный для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

  • статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ

  • присутствуСт сборщик мусора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ

  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСтСвыми ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ

  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многопоточности ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования

Π’ настоящСС врСмя Go Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сфСрах. Π’ частности, срСди извСстных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Go,
ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: Google, Dropbox, Netflix, Kubernetes, Docker, Twitch, Uber, CloudFlare ΠΈ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Go? ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠ΄Π° ΠΈ компилятор для прСобразования ΠΊΠΎΠ΄Π° Π² исполняСмый Ρ„Π°ΠΉΠ».
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Go, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GoLand ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JetBrains.
Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для Go для Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE, Π² частности, IntelliJ IDEA ΠΈ Netbeans.

Установка компилятора

ΠŸΠ°ΠΊΠ΅Ρ‚ для установки компилятора ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта https://golang.org/dl/.

По этому адрСсу ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ установщиков для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π’Π°ΠΊ, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ запускС установщика для Windows открываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ:

ПослС принятия Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ соглашСния отобразится ΠΎΠΊΠ½ΠΎ для Π²Ρ‹Π±ΠΎΡ€Π° мСста установки:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡƒΡ‚ΡŒ «c:\go». ΠžΡΡ‚Π°Π²ΠΈΠΌ этот ΠΏΡƒΡ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠΊΠ½Ρƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Install:

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ установки Π² ΠΏΠ°ΠΏΠΊΠ΅ C:\Go Π±ΡƒΠ΄ΡƒΡ‚ установлСны всС Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Go. Π’ частности, Π² ΠΏΠ°ΠΏΠΊΠ΅
C:\Go\bin ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ» go.exe, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт Ρ€ΠΎΠ»ΡŒ компилятора:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go с нуля: 9 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΎΠ²

ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ – это всС ΠΎ языкС Go. Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go ΠΏΠΎ этому курсу.

Π Π°Π½Π΅Π΅ ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π»ΠΈ Π±Π»ΠΎΠ³ΠΈ, ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Go. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΆΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎ Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠ°Ρ… с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ понятной ΠΏΠΎΠ΄Π°Ρ‡Π΅ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π²ΠΎΠ΄Π½ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΡ€ рассказываСт ΠΎΠ± истории программирования ΠΈ ΠΎ нСобходимости этого языка, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…. ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΡΡ‚ΡΡ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Go ΠΈ Perl Π½Π° Ρ‚Π΅ΠΌΡƒ скорости, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ удобства использования, Ρ‚. ΠΊ. Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»Π΅ΠΊΡ‚ΠΎΡ€, примСняСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go. ΠžΡ‡Π΅Π½ΡŒ доступноС ΠΈ понятноС объяснСниС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, ΠΈ ΠΏΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, β€œHello World”. Как ΠΆΠ΅ Π±Π΅Π· Π½Π΅Π³ΠΎ?

Из этой Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚, ΠΈ Π² Ρ‡Π΅ΠΌ ΠΈΡ… ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Go. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ структурах (struct, embeded) ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ООП Π² Π΄Π°Π½Π½ΠΎΠΌ языкС. Автор ΠΏΠΎΠ²Π΅Π΄Π°Π΅Ρ‚ ΠΎΠ± интСрфСйсС Π² Go, Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ интСрСсной особСнности интСрфСйсов – ΠΈΡ… ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ с постфиксом -er (Reader, Fixer ΠΈ Ρ‚. Π΄.) ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Duck typing.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go Π΄Π°Π΅Ρ‚ сразу большой ΠΏΡ€ΠΎΡ„ΠΈΡ‚ – этот ЯП асинхронный ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Основой асинхронности являСтся процСсс. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΎΠ½ΠΈ (процСссы) нСзависимы Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ своС адрСсноС пространство. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСсса Π½Π΅ доступны Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π›Π΅ΠΊΡ‚ΠΎΡ€ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ, коснСтся Go-Ρ€ΡƒΡ‚ΠΈΠ½ ΠΈ основных ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² для синхронизации Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ языка: ΠΊΠ°Π½Π°Π»Ρ‹, ΠΏΠ°ΠΊΠ΅Ρ‚ sync, atomic.

Π’ этой Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠ΅Ρ‚ΡŒΡŽ. ВсСм извСстно, Ρ‡Ρ‚ΠΎ для связи Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… процСссов Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сокСт ΠΈ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP. Π‘Ρ‚Π°Ρ‚ΡŒΡ Π½Π°ΡƒΡ‡ΠΈΡ‚: ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сСтСвоС соСдинСниС Π² Golang, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ послС установлСния ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚Π°, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ. ЗанятиС Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΎ β€œΡ€Π°ΡΡˆΠ°Ρ€ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌβ€ экрана ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ коммСнтариями.

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ начинаСтся с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСссии ΠΈ cookie, для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹, ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этих Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ влияСт Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, написанный Π½Π° Go. Π”Π°Π»Π΅Π΅ Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ нСпосрСдствСнному Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ Π‘Π£Π‘Π”. MySQL ΠΈ PostgreSQL Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ, поэтому, зная ΠΎΠ΄Π½Ρƒ Π‘Π£Π‘Π”, Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΎΡΠΈΠ»ΠΈΡ‚ΡŒ Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π°. А Π²ΠΎΡ‚ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΎ Memcached, Redis, mongoDB ΠΈ ORM Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно Π΄Π°ΠΆΠ΅ профСссионалу.

На этой Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ массу ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ систСмС тСстирования, ΡŽΠ½ΠΈΡ‚-тСстах ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… инструмСнтах для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ своСго прилоТСния. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ ΡƒΡ€ΠΎΠΊΠ° Π±ΡƒΠ΄ΡƒΡ‚ систСмы Continuos Integration, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ сборкС ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС. БлоТная, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ полСзная Ρ‚Π΅ΠΌΠ° для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².Β  Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ популярныС GitLab ΠΈΠ»ΠΈ GitHub, Ρ‚ΠΎ для тСстирования ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ GitLab CI ΠΈ Travis CI соотвСтствСнно.

Π―Π·Ρ‹ΠΊ программирования Go строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ, ΠΈ Π²Ρ‹ Π² основном ΠΏΠΈΡˆΠ΅Ρ‚Π΅ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, привязанный ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ структурам ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌ. Π”Π°Π½Π½Ρ‹ΠΉ ЯП ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ интСрСсной ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ – ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² основном ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ собствСнных Ρ‚ΠΈΠΏΠΎΠ². Π”Π°Π½Π½Ρ‹ΠΉ процСсс называСтся рСфлСксиСй. О Π½Π΅ΠΉ, Π΅Π΅ Π·Π°ΠΊΠΎΠ½Π°Ρ… ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ… использования ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² сСдьмой сСкции курса.

Π’ соврСмСнном ΠΌΠΈΡ€Π΅ бизнСса всС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ максимально быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ. Если ПО Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Ρ‚ΠΎ бизнСс тСряСт дСньги Π½Π° обСспСчСнии Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстро ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ ΠΌΠ°Π»ΠΎ рСсурсов. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ слабыС мСста Π² софтС, ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ.

Как извСстно ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π»Π΅ΠΊΡ†ΠΈΠΉ, Golang примСняСтся для сСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сСтСвыС запросы. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡΠ΅Ρ‚ΡŒΡŽ, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Но сущСствуСт Ρ‚Π°ΠΊΠΎΠ΅ понятиС, ΠΊΠ°ΠΊ контСкст – информация, пСрСдаваСмая Π²ΠΎ всСх запросах ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с API. Об этой Π½Π΅ΠΈΠ·Π²Π΅Π΄Π°Π½Π½ΠΎΠΉ области ΠΈ расскаТСт Π²Π°ΠΌ Π°Π²Ρ‚ΠΎΡ€ Π² послСднСй Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π―Π·Ρ‹ΠΊ программирования Go

Π’ языках программирования для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ бэкСнда Π½Π΅Ρ‚ нСдостатка: ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Python, тяТСловатый ΠΈ энтСрпрайзный Java ΠΈΠ»ΠΈ популярный JavaScript. Но Ссли Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π»Π΅Π³ΠΊΠΎΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅, Π΄Π΅Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΡƒΠ΄Π° β€” Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ языка Golang.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° 1: Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎ языков программирования

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков программирования появились Π΅Ρ‰Π΅ Π² XX Π²Π΅ΠΊΠ΅. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ Π½Π°ΡƒΠΊΠΈ Ρ‚ΠΎΠ³Π΄Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Π»ΠΈΡΡŒ, выдавая сотни Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ написания ΠΈ исполнСния ΠΊΠΎΠ΄Π°: ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅, событийныС, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅.

НСсмотря Π½Π° внСшнСС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅, Π² основС этих ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ β€” ΠΎΠ½ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ для однопроцСссорных ΠΈ одноядСрных систСм, вСдь Π΄Ρ€ΡƒΠ³ΠΈΡ… Π² Ρ‚ΠΎ врСмя Π½Π΅ Π±Ρ‹Π»ΠΎ. ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠ½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»ΠΈ классной ΠΏΡ€ΠΈΠΌΠΎΡ‡ΠΊΠΎΠΉ для ΡƒΠΌΠ½Ρ‹Ρ… программистов, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΈΡ‡Π΅ΠΉ.

ВсС измСнилось Π² Π½Π°Ρ‡Π°Π»Π΅ XXI Π²Π΅ΠΊΠ°, ΠΊΠΎΠ³Π΄Π° Intel смСнила ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ процСссоров ΠΈ вмСсто ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ частот ядра Π½Π°ΡƒΡ‡ΠΈΠ»Π° Ρ‡ΠΈΠΏΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚Π° инновация ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, поэтому стало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство вычислСний ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ядрах.

Π―Π·Ρ‹ΠΊΠΈ программирования, созданныС Π² эпоху одноядСрных систСм, ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈ Π½Π° многоядСрных систСмах, Π½ΠΎ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ ΠΈΠ΄Π΅Π°Π»Π°. Π’ΠΎΡ‚ ΠΆΠ΅ Python ΠΈΠ»ΠΈ JavaScript ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π½Π° соврСмСнных многоядСрных процСссорах, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠΎΡ‰ΡŒ Ρ‡ΠΈΠΏΠΎΠ² Π½Π° ΠΏΠΎΠ»Π½ΡƒΡŽ.

Π£ языков Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния ΡƒΠΆΠ΅ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ максимальная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° многоядСрных Ρ‡ΠΈΠΏΠ°Ρ…. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° языка Golang β€” ΠΎΠ½ относится ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ многоядСрным языкам, Π² Π΅Π³ΠΎ ядро Π·Π°Π»ΠΎΠΆΠ΅Π½Π° грамотная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΠΈ ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ многозадачности.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° 2: ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

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

НаписаниС ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΈ многопроцСссного ΠΊΠΎΠ΄Π° всСгда Π±Ρ‹Π»ΠΎ нСпростой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π’ этой области ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ свои ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования, тонкости ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Golang ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π°Π΄ этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, поэтому ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ асинхронноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² этом языкС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ качСствСнно, насколько Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ: Π±Π΅Π· Ρ…ΠΈΡ‚Ρ€ΠΎΠΉ синхронизации ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π±Π΅Π· ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠΎΠ², Π±Π΅Π· контроля доступа ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π―Π·Ρ‹ΠΊ программирования Golang Π·Π°Π±Ρ€Π°Π» Ρƒ своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΡƒΡ‡Ρƒ способов ΡΡ‚Ρ€Π΅Π»ΡΡ‚ΡŒ сСбС Π² ΠΊΠΎΠ»Π΅Π½ΠΎ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ языки β€” Π½Π΅Ρ‚.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° 3: приятная Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΡΡ‚ΡŒ языка Go

Для максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΆΠΈΠ²ΡƒΡ‚ максимально Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ памяти ΠΈ ΠΆΠ΅Π»Π΅Π·Ρƒ, Π±Π΅Π· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… посрСдников. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΊΡ€ΡƒΡ‚ΠΎΠ³ΠΎ быстрого ΠΊΠΎΠ΄Π° Ρ‡Π°Ρ‰Π΅ всСго Π±Π΅Ρ€ΡƒΡ‚ языки Ρ‚ΠΈΠΏΠ° Π‘++. Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ…ΠΈΡ‚Ρ€Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ инструкций ΠΈ высокая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ контроля Π½Π°Π΄ происходящим Π² систСмС ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΌ ΡˆΡƒΡΡ‚Ρ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ сторона написания ΠΊΠΎΠ΄Π°, Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ ΠΆΠ΅Π»Π΅Π·Ρƒ, Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вас Π½Π΅ΠΊΠΎΠΌΡƒ ΡΠΏΠ°ΡΠ°Ρ‚ΡŒ ΠΎΡ‚ ошибок. Python, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ даст Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ глупости β€” ΠΎΠ½ Ρ€Π΅ΡˆΠΈΡ‚ всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π° вас. НизкоуровнСвый ΠΊΠΎΠ΄ заставляСт программиста Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΊΡƒΡ‡Π΅ Π²Π΅Ρ‰Π΅ΠΉ, Ρ‚ΠΈΠΏΠ° очистки памяти ΠΎΡ‚ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ выдСлСния рСсурсов ΠΏΠΎΠ΄ вычислСния ΠΈ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ рСагирования Π½Π° сигналы ОБ. ВсС это Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ самому.

Golang ΠΆΠΈΠ²Π΅Ρ‚ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΆΠ΅Π»Π΅Π·Ρƒ. Достаточно Π±Π»ΠΈΠ·ΠΊΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Π²ΠΎΠ·ΠΈΡ‚ΡŒΡΡ с указатСлями. Или Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π°ΠΌΠΈ ΠΈ ядром ОБ Π½Π΅ посСлилась нСкая загадочная Π»ΠΎΠ³ΠΈΠΊΠ°, которая нСпонятным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ влияСт Π½Π° ΠΊΠΎΠ΄. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Golang ΠΆΠΈΠ²Π΅Ρ‚ достаточно Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ ΠΆΠ΅Π»Π΅Π·Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ врСмя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° написаниС ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ связанного с вашими бизнСс-Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.

Π―Π·Ρ‹ΠΊ программирования Goland β€” Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ высоконагруТСнного бэкСнда

Go β€” язык максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, с ΠΊΡ€ΡƒΡ‚ΠΎΠΉ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ контроля Π½Π°Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Go мСстами ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Π½Π° JS, Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ C+ (Π° Ρ‚ΠΎ ΠΈ быстрСС).

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² соврСмСнном Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΡƒΡΡ‚Ρ€ΠΎΠ³ΠΎ бэкСнда Π½Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΡ‚ΠΎΠ³ΠΎ ΠΈ простого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π»ΠΈΠ±ΠΎ слоТнСС, Π»ΠΈΠ±ΠΎ ΠΈΡ… Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go | Losst

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Go — это Π΅Ρ‰Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ язык, ΠΎΠ½ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹Ρ… систСмах ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈ Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния Π±ΡƒΠ΄Π΅Ρ‚ расти. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ программирования Π½Π° Go — это ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… инвСстиций для программиста Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ сдСлаСм нСбольшоС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, слоТно ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ go ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π½ΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ основы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π² дальнСйшСм. Но ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ языка, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π΅Π³ΠΎ развития ΠΈ структуру. Π‘Ρ‚Π°Ρ‚ΡŒΡ рассчитана Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π‘ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык программирования, поэтому Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТным, Π½ΠΎ ΠΈΠΌ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π― Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go с нуля Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, просто для этого Π½ΡƒΠΆΠ½Π° Π±ΠΎΠ»Π΅Π΅ подробная Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ развития Go

Π―Π·Ρ‹ΠΊ Go элСгантСн ΠΈ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Π³ΠΎ особСнности ΠΈΠΌΠ΅ΡŽΡ‚ смысл Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ историчСским контСкстом. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Go начинаСтся с Π‘ΠΈ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ… Π‘ΠΈ стал основой для создания JavaScript, Ruby, Python, C++, C# ΠΈ Java. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· этих языков Π΄Π°ΠΆΠ΅ написаны Π½Π° Π‘ΠΈ. ВлияниС Π‘ΠΈ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках. Он Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ДСнисом Π ΠΈΡ‚Ρ‡ΠΈ для создания ядра Unix ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ использовался для создания ядра Linux.

Π―Π·Ρ‹ΠΊ Go Π±Ρ‹Π» создан Π»Π΅Π³Π΅Π½Π΄Π°ΠΌΠΈ эпохи Unix ΠΈ Π‘ΠΈ. Работая Google, Π ΠΎΠ±Π΅Ρ€Ρ‚ ГрисСмСр, Π ΠΎΠ± Пайк ΠΈ КСн Вомпсон Π±Ρ‹Π»ΠΈ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½Ρ‹ Π² Π‘ΠΈ-языках ΠΈΠ·-Π·Π° ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π‘ΡŠΡΡ€Π½ Бтрауструп, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ C++ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» Ρ‚Π°ΠΊ: «Π‘ΠΈ позволяСт Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΡ‚ΡŒ сСбС Π² Π½ΠΎΠ³Ρƒ, Π² C++ это слоТнСС, Π½ΠΎ Ссли Π²Ρ‹ всС ΠΆΠ΅ выстрСлитС, Ρ‚ΠΎ Π²Π·ΠΎΡ€Π²Π΅Ρ‚Π΅ Π½ΠΎΠ³Ρƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ».

Go наслСдуСт ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΎΡ‚ Π‘ΠΈ. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΈ сила синтаксиса, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ — это ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ стороны ΠΎΠ±ΠΎΠΈΡ… языков. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ врСмя компиляции — это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π‘ΠΈ. Go Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сборки мусора, бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстрой компиляции.

Π―Π·Ρ‹ΠΊ Java Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ с большими ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Go ΠΏΠ΅Ρ€Π΅Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈ этот плюс Ρƒ Java ΠΈ пытаСтся Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ языком для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π―Π·Ρ‹ΠΊ Go Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… нСдостатков ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, ΠΊΠ°ΠΊ наслСдованиС. ВсС рСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠ³ΠΎ синтаксиса интСрфСйсов.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ сходство с динамичСскими языками, Go ΠΏΠ΅Ρ€Π΅Π½ΠΈΠΌΠ°Π΅Ρ‚ ΡΡ‚ΠΈΠ»ΡŒ написания ΠΊΠΎΠ΄Π° Ρƒ Python, Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Ρƒ Ruby ΠΈ простой ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ, Π²ΡˆΠΈΡ‚Ρ‹ΠΉ Π² ядро языка, ΠΊΠ°ΠΊ Ρƒ Node.js. ВсС Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ, ΠΊΠ°ΠΊ язык, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π‘ΠΈ ΠΈ выросло Π² прСкрасный язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ синтаксис языка.

1. Бинтаксис языка Go

Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎ Ρ‡Π΅ΠΌ стоит ΡΠΊΠ°Π·Π°Ρ‚ΡŒ — это структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Она Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Java ΠΈ Python. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° раздСляСтся Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Package, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ include ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Python. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ package ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ области видимости для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции import:

import имя_ΠΏΠ°ΠΊΠ΅Ρ‚Π°

Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Go — это язык со строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, поэтому ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚ΠΈΠΏ:

var имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏ

Π’ ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ русский язык. Но Ссли сразу Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ язык сам ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Π΅Π΅ Ρ‚ΠΈΠΏ:

var имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ := Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Для этого просто Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

var *имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая Π±Ρ‹Π»Π° объявлСна Π²Π½ΡƒΡ‚Ρ€ΠΈ package ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ package Π²Π°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ доступны ΠΈΠ·Π²Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, написанныС с большой Π±ΡƒΠΊΠ²Ρ‹:

имя_ΠΏΠ°ΠΊΠ΅Ρ‚Π°.имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
имя_ΠΏΠ°ΠΊΠ΅Ρ‚Π°.имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ инструкции ΠΎΡ‡Π΅Π½ΡŒ схоТи ΠΏΠΎ своСму синтаксису с ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ Π² Π‘ΠΈ:

if условиС {
дСйствия
}

Π¦ΠΈΠΊΠ» for Ρ‚ΡƒΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΈ Π² Π‘ΠΈ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π· ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок, Ρ‚Π°ΠΊ выглядит Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΡ‰Π΅:

for i := 0; i <= ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ; i++ {
дСйствия
}

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ golang ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ func, ΠΈ Π² Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π½ΠΎ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

func имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅) (Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅) {
дСйствия
}

Π’Π°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° с запятой послС строк Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΡΡ. ВмСсто ООП классов Π² Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ структуры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйсы. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ структуру ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ инструкция type:

type имя_структуры struct {
имя_поля Ρ‚ΠΈΠΏ_поля
}

ΠšΡ€ΠΎΠΌΠ΅ ΠΏΠΎΠ»Π΅ΠΉ, структуры ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² качСствС классов. ОбъявлСниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличаСтся ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ golang:

func (имя_указатСля *Ρ‚ΠΈΠΏ_структуры) имя_ΠΌΠ΅Ρ‚ΠΎΠ΄Π°() {
дСйствия
}

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² структур происходит Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΈΡ… полям ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ:

имя_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.имя_ΠΌΠ΅Ρ‚ΠΎΠ΄Π°(ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)

К полям ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ обращаСмся Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ:

имя_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.имя_поля

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ основы языка ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π”Π°Π»ΡŒΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Golang, ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ.

2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Hello World

НапишСм Π½Π°ΡˆΡƒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΊΠ°ΠΊ принято, это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран строчку «ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€!». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Go Π² свою систСму ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ сСрвисом play.golang.org, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прямо Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. ΠœΡ‹ Β Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ½Π»Π°ΠΉΠ½ сСрвисом.

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ сайта Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

package main
import ( "fmt")

func main() {
fmt.Println(«Hello, playground»)
}

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, синтаксис ΠΏΠΎΡ‡Ρ‚ΠΈ соотвСтствуСт Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ рассматривали Ρ€Π°Π½Π΅Π΅. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ этот Ρ„Π°ΠΉΠ» ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ main, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ fmt, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Π‘ΠΊΠΎΠ±ΠΊΠΈ здСсь Π½ΡƒΠΆΠ½Ρ‹ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

Π”Π°Π»ΡŒΡˆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ функция main, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Go Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main. Π’ динамичСских языках Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта начинаСтся ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π° Ρ„Π°ΠΉΠ»Π° Π²Π½ΠΈΠ·. Π’ Go Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ начинаСтся с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π°.

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ fmt, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ printLn Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строчку Π½Π° экран.

Для языка Go Π±Ρ‹Π» принят ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ синтаксис. Π”Π°ΠΆΠ΅ Ссли компилятор Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ошибок ΠΈΠ·-Π·Π° нСсоотвСтствия, Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ. Для ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… принято ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€Π±Π»ΡŽΠΆΠΈΠΉ синтаксис, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ FooBar ΠΈΠ»ΠΈ Foobar вмСсто foo_bar. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Go Π½Π΅ Ρ‚Π΅Ρ€ΠΏΠΈΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… символов ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобкой. Π”Π°ΠΆΠ΅ Ссли ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

Π’Π°ΠΊΠΆΠ΅ Π² Go стандартизированы отступы, хотя здСсь Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Π² Python.

3. ΠžΡΠ½ΠΎΠ²Ρ‹ языка Go

Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ структурами. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Как я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», язык ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’ Python, Ruby ΠΈΠ»ΠΈ JavaScript Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Go избавляСт ΠΎΡ‚ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. НапримСр, услоТним наш ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Β 

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π·Π° Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ новая функция — print. Π—Π΄Π΅ΡΡŒ явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ строку (string). А Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° string ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅Π΅ Π² print. Если ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ помСняСтС Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° int, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ это:

cannot use "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€!" (type string) as type int in assignment

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли объявили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ. БущСствуСт Π΅Ρ‰Π΅ мноТСство Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Go, ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… — это структуры. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‰Π΅ большС услоТним Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, создадим структуру site, с полями name ΠΈ url, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ сайт:

Π’ структуры Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ print, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку «Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ…». Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ main ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ структуру ΠΈ присвоили Π΅Π΅ полям значСния, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ print.

Π―Π·Ρ‹ΠΊ программирования Go ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Ρ‰Π΅ мноТСство интСрСсных особСнностСй ΠΈ возмоТностСй. И Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΠ· Π½ΠΈΡ… ΠΌΡ‹ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΠ»ΠΈΡΡŒ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠ»Π°Π²Π°Ρ‚ΡŒ, Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€Ρ‹Π³Π°Ρ‚ΡŒ Π² Π²ΠΎΠ΄Ρƒ. Волько благодаря ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π²Ρ‹ смоТСтС свободно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ этот язык.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎ прСкрасный язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±Ρ€Π°Π» ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π·Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НадСюсь, информация ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ этот язык.

12 ΠΊΠ½ΠΈΠ³ для изучСния языка программирования Go

Golang ΠΈΠ»ΠΈ Go β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. Π•Π³ΠΎ Π² 2009 Π³ΠΎΠ΄Ρƒ запустил ΠΊΠΎΠ½Ρ†Π΅Ρ€Π½ Google. На Π—Π°ΠΏΠ°Π΄Π΅ ΠΎΠ½ ΡƒΠΆΠ΅ ΠΎΠ±Ρ€Ρ‘Π» свою ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΈ занял Π½ΠΈΡˆΡƒ срСди Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Π½ΠΎ Π΄ΠΎ нас Ρ‚ΠΎΠ»ΠΊΠΎΠΌ Π½Π΅ Π΄ΠΎΡˆΡ‘Π», β€” ΠΏΠΈΡˆΠ΅Ρ‚ KV.BY. Π›ΠΈΡˆΡŒ сСйчас Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ освоСния этого языка. Π­Ρ‚ΠΎ Π²ΠΈΠ΄Π½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠΎ скудности Π²Ρ‹Π±ΠΎΡ€Π° Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ для изучСния. Из-Π·Π° этого большая Ρ‡Π°ΡΡ‚ΡŒ прСдставлСнных ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° английском языкС.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Go

ΠŸΠ΅Ρ€Π΅Π΄ языком Golang ΡΡ‚Π°Π²ΠΈΠ»Π°ΡΡŒ Ρ†Π΅Π»ΡŒ максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ Π² многоядСрныС процСссоры. ΠœΠ°Ρ€ΠΊ Π‘Π°ΠΌΠΌΠ΅Ρ€Ρ„ΠΈΠ»ΡŒΠ΄ продСмонстрируСт Π²Π°ΠΌ возмоТности языка, ΠΈΠ΄ΠΈΠΎΠΌΡ‹ ΠΈ способы написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’ ΠΊΠ½ΠΈΠ³Π΅ собрана вся информация, нуТная для создания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Автор ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ прСимущСства Go ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, указывая Π½Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности. ΠœΠ°Ρ€ΠΊ Π² этой ΠΊΠ½ΠΈΠ³Π΅ продСмонстрируСт Π²Π°ΠΌ тонкости ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ плюшки.

Книга ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставлСниС ΠΎ Go.

Go Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

Расчёт ΠΈΠ΄Ρ‘Ρ‚ Π½Π° ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… этот язык. Книга β€” свод Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΎΠ² ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… вопросов, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ создании прилоТСния ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПособиС построСно ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ «вопрос-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅-обсуТдСниС». Книга ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ языка Go, дСмонстрируСт ΠΏΡ€ΠΈΠ΅ΠΌΡ‹, тСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ возмоТности. Π’Π°ΠΊΠΆΠ΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ вопрос ΠΎ создании ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π―Π·Ρ‹ΠΊ программирования Go

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

Авторы β€” профСссионалы Π² Π΄Π²ΡƒΡ… областях: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ написании ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°. Π’ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ практичСских вопросов, ΠΏΡ€ΠΈΠ΅ΠΌΡ‹, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ написаниС ΠΊΠΎΠ΄Π° ΠΈ Ρ‚.Π΄.

Go in action

ПособиС рассчитано Π½Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π²Π»Π°Π΄Π΅Π΅Ρ‚ основами языка Go. Go in action ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ программиста ΠΊ маэстро, Π²ΠΈΡ€Ρ‚ΡƒΠΎΠ·Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Golang. Авторы с ΠΏΠ΅Ρ€Π²Ρ‹Ρ… страниц ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ вас Π² особСнности ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ языка, Π° Π·Π°Ρ‚Π΅ΠΌ постСпСнно подводят ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΎΠΏΡ‹Ρ‚Π° практичСским ΠΏΡƒΡ‚Π΅ΠΌ.

Задания, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΎΠΉ, – это Π²Π΅Π±-рСсурсы, сСрвСры ΠΈ прилоТСния. Π’ процСссС программирования Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Π΄Π°ΡŽΡ‚ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… манипулирования, прСобразования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Ρ„ΠΈΡˆΠΊΠ°Ρ….

Introducing Go

ΠœΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Π°Ρ ΠΊΠ½ΠΈΠΆΠΊΠ° Π² 62 страницы. Казалось Π±Ρ‹, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΠ· Ρ‚Π°ΠΊΠΎΠ³ΠΎ малСнького объСма? Но, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, Ρ‚ΠΎ это пособиС быстро ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас ΠΏΠΎ Π°Π·Π°ΠΌ Go ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ, Π½ΡƒΠΆΠ΅Π½ Π»ΠΈ Π²Π°ΠΌ ΠΎΠ½ ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅. А Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ²ΠΎΠ΄ΠΎΠΌ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΡ‚ O’Really.

Книга пошагово Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ с языком, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Ρ‹ Π΅ΡΡ‚ΡŒ задания для усвоСния ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°. Π“Π»Π°Π²Ρ‹ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅, Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹Π΅, Π½ΠΎ понятныС ΠΈ простыС. ВсС ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΊΠΎΡ‡ΠΈΡ‚ΡŒ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π΅ получится, Π΄Π° ΠΈ ΠΌΠ°Π»Ρ‹ΠΉ объСм Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Get Programming with Go

Книга для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Она ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π°Π·Ρ‹ языка Go Π·Π° 32 ΡƒΡ€ΠΎΠΊΠ°. ПособиС Ρ€Π°Π·Π±ΠΈΡ‚ΠΎ Π½Π° 7 ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ познакомят с языком. ПослСдний Π±Π»ΠΎΠΊ ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π΄Π²Π΅Ρ€ΡŒ Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go.

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

Go Programming by Example

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ происходит Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΊΠΎΠ΄Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ рСсурсов. Π£Π΄ΠΎΠ±Π½ΠΎ, вСдь сразу запоминаСтся синтаксис, ΠΌΠ°Π½Π΅Ρ€Π° ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ сами особСнности языка. РассматриваСмых Ρ‚Π΅ΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅ масса, ΠΈ Π²ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…: срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, массивы, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, структуры, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сокСтов, Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ….

The Go Bestiary

Π­Ρ‚ΠΎ Π½Π΅ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ, Π°, скорСС, сборник совСтов ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ, собранных Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ способы ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ распространСнныС ΠΈ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ошибки. Π­Ρ‚ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ пособиС рассчитано Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов, Π½ΠΎ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° излоТСнная здСсь информация.

Learning Go Programming

Π­Ρ‚ΠΎ пошаговоС практичСскоС руководство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ быстро Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Go. НачнСтС с изучСния основ языка Go, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ описаниСм Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Go. ПослС этого Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄ΠΈΠΎΠΌΡ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ повСдСнию. НаконСц, Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ GO, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ интСграция с ОБ, для создания эффСктивных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ВсС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ Π² Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ ΠΈ сТатой Ρ„ΠΎΡ€ΠΌΠ΅.

Network Programming with Go

А Π²ΠΎΡ‚ ΠΊΠ½ΠΈΠ³Π° для ΠΌΠ°Ρ‚Π΅Ρ€Ρ‹Ρ… программистов Π½Π° Go. Π’Π°ΠΌ прСдстоит ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Π²Π°ΠΆΠ½Ρ‹Π΅ аспСкты сСтСвой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Go, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ сСриализация Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ уровня ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠšΡ€ΠΎΠΌΠ΅ основ, сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ вопросы ΠΏΠΎ HTTP ΠΈ HTTPS, шаблонам, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (RPC) ΠΈ Ρ‚.Π΄.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π°Π²Ρ‚ΠΎΡ€ Π―Π½ ΠΡŒΡŽΠΌΠ°Ρ€Ρ‡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π² создании ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΌΡƒ Π²Π΅Π±-сСрвСру Π½Π° основС Go. Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ пособиСм, Ρ‚Π°ΠΊ ΠΈ справочным ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ ΠΏΠΎ сСтям Go.

Mastering Concurrency in Go

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

ЦСль этой ΠΊΠ½ΠΈΠ³ΠΈ β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Go для создания Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ многопоточности, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ.

Mastering Go Web Services

Π­Ρ‚ΠΎΡ‚ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ вас с Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ проСктирования, создания ΠΈ развСртывания Π²Π΅Π±-слуТбы с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ идиоматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² REST с Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ Π½Π° Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ ΠΈ Π³ΠΈΠ±ΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π²Ρ‹ создадитС свой API с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ HTTP. Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° созданиС ΠΈ сборку вашСго прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ популярныС структуры Π΄ΠΈΠ·Π°ΠΉΠ½Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ способы развСртывания ΠΊΠΎΠ΄Π° для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НаконСц, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ бСзопасности Π² Go ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ внСдрСния SQL-ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

К ΠΊΠΎΠ½Ρ†Ρƒ этой ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ‹ достигнСтС высокого уровня мастСрства Π² создании ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ Π²Π΅Π±-сСрвисов ΠΈ Π²Π΅Π±-API с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Go.

30 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³ для освоСния языка программирования Go

Π˜Ρ‰Π΅Ρ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Go? ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ 30 книг для освоСния языка программирования Go, которыС отвСтят Π½Π° вопросы Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° – бСсплатноС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Golang. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ устраиваСт идСя ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ. На самом Π΄Π΅Π»Π΅, это большС, Ρ‡Π΅ΠΌ просто «малСнькая ΠΊΠ½ΠΈΠ³Π°Β»: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ лишь ΠΎ простотС излоТСния.

Книга являСтся ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² язык Go. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Β«Π³ΡƒΠ³Π»ΠΎΠΌΒ», это язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния с соврСмСнными функциями, чистым синтаксисом ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для изучСния Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΊΠ½ΠΈΠ³Π° появилась Π² качСствС пособия ΠΊ ΠΌΠ΅Ρ€ΠΎΠΏΡ€ΠΈΡΡ‚ΠΈΡŽ, Π½ΠΎ Π² Π½Π΅ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΎΡ‚ Google ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ создатСлСй Π² соотвСтствии с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons Attribution 3.0, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄, Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² соотвСтствии с BSD.

Онлайн-ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ мноТСство ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ‚Π΅ΠΌΠ°ΠΌ языка программирования Go.

Книга, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ JavaScript-eΡ€Ρ‹ смогут Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° GΠΎ. Π’ ΠΊΠ½ΠΈΠ³Π΅ рассмотрСны отличия ΠΌΠ΅ΠΆΠ΄Ρƒ языками Π² цСлях облСгчСния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° с ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π‘ этой ΠΊΠ½ΠΈΠ³ΠΎΠΉ заинтСрСсованный Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ смоТСт ΡΡ‚Π°Ρ‚ΡŒ Π³ΡƒΡ€Ρƒ. Π‘Π½Π°Ρ‡Π°Π»Π° Π°Π²Ρ‚ΠΎΡ€ Π²Π²ΠΎΠ΄ΠΈΡ‚ описаниС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ особСнностСй языка, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ практичСскому написанию ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС Π²Π΅Π±-сайтов, сСтСвых сСрвСров, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ самом ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ½ΠΈΠ³ΠΈ рассмотрСны сСкрСтныС ΡˆΡ‚ΡƒΠΊΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ GΠΎ ΠΈ C.

Π’ этой ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅ систСмы ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ знания Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…. Плюсами ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², созданных Π½Π° этом языкС программирования, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ. Π£Ρ€ΠΎΠΊΠΈ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми прСимущСствами ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°.

На сСгодняшний дСнь GΠΎ – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰ΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… языков программирования. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ создавался для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всю ΠΌΠΎΡ‰ΡŒ соврСмСнных многоядСрных процСссоров. Π’ этом руководствС Π°Π²Ρ‚ΠΎΡ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ возмоТности ΠΈ ΠΈΠ΄ΠΈΠΎΠΌΡ‹.

Книга Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ изучСния Go ΠΈΠ»ΠΈ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ языком, поэтому ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ «Ρ‡Π°ΠΉΠ½ΠΈΠΊΠ°ΠΌ», Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ свободно доступСн для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с сайта, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ½ΠΈΠ³Ρƒ.

ΠŸΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ – Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с основами программирования. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ руководство обСспСчиваСт Π»Π΅Π³ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык. Автор раскрываСт основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка с ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌΠΈ инструкциями ΠΈ упраТнСниями Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Π΅ΠΌΡƒ Π²Ρ‹ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ.

Π˜Π·ΡƒΡ‡ΠΈΠ² Π±ΠΎΠ»Π΅Π΅ 25 Π³Π»Π°Π² этой ΠΊΠ½ΠΈΠ³ΠΈ, Π²Ρ‹ быстро Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Π½ΠΎΠ²ΠΎΠΌ языкС. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· этой ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π° тСстовой срСдС, поэтому Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ создании практичСской срСды. ВмСсто выполнСния скучных Π·Π°Π΄Π°Π½ΠΈΠΉ придётся ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ, Ссли Π²Π°ΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, это ΠΏΠΎ Π΄ΡƒΡˆΠ΅.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° GΠΎ. Π’ Π½Π΅ΠΉ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС элСмСнты языка ΠΈ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΈΡ… использованиС с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°.

Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ GΠΎ, Ρ€Π΅ΡˆΠ°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅Ρ†Π΅ΠΏΡ‚ являСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ практичСского программирования. Помимо классичСских Ρ‚Π΅ΠΌ, Π² ΠΊΠ½ΠΈΠ³Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ посрСдством NoSQL, MongoDB ΠΈ RethinkDB. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, здСсь содСрТится ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎ созданию ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… интСрфСйсных API для Π²Π°ΡˆΠΈΡ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Книга ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ языковыС спСцификации, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π±Π»ΠΎΠ³ΠΈ, Π²ΠΈΠ΄Π΅ΠΎ, слайды ΠΈ авторскиС впСчатлСния ΠΎΡ‚ написания. Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания языка.

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ руководство ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тСстов. Доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½Π»Π°ΠΉΠ½.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚ язык. ΠŸΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ сСтСвой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹: ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, символы ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Помимо Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², ΠΊΠ½ΠΈΠ³Π° ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² области сСтСй ΠΈ бСзопасности: HTTP ΠΈ HTTPS, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (RPC), Π²Π΅Π±-сокСты, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ HTML5 ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас Ρ‡Π΅Ρ€Π΅Π· ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, расскаТСт ΠΎ Π΅Π³ΠΎ использовании Π² GΠΎ, ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ± особСнностях структур ядра ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅ прСдставлСны Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ описаниями ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΉ. К ΠΊΠΎΠ½Ρ†Ρƒ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ бСзопасныС, совмСстимыС, Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ прилоТСния.

Π­Ρ‚ΠΎΡ‚ практичСский справочник ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ стратСгии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своих повсСднСвных прилоТСниях. Π’Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ создания Π²Π΅Π±-сСрвисов, использованиС GΠΎ Π² ΠΎΠ±Π»Π°ΠΊΠ΅, тСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ, сСтСвыС прилоТСния ΠΈ Ρ‚. Π΄.

Записная ΠΊΠ½ΠΈΠΆΠΊΠ° GΠΎ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ качСствСнноС ПО. Π’Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ спСцифику Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Golang string, коллСкциями, массивами, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок, Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½Π°ΠΌΠΈ, срСзами, ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ, ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ, Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ, Π΄Π°Ρ‚Π°ΠΌΠΈ, Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, сСтями, Π²Π΅Π±-прилоТСниями ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния.

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования для упрощСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Π΅ прилоТСния с GΠΎlang.

РСсурс для всСх, ΠΊΡ‚ΠΎ ΠΆΠ΅Π»Π°Π΅Ρ‚ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ GΠΎ-прилоТСния для Π²Π΅Π±Π°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΈΠ³Π° для изучСния Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Автор Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ аспСктами проСктирования, создания ΠΈ развСртывания Π²Π΅Π±-сСрвиса с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² REST, удСляСт особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ скорости, бСзопасности ΠΈ гибкости. Π’Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ с создания своСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ API Π² GΠΎ посрСдством HTTP, Π·Π°ΠΉΠΌΠ΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ прилоТСния, ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Model-View-Controller, ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ развСртывания ΠΊΠΎΠ΄Π° ΠΈ рассмотритС возмоТности языка ΠΏΠΎ части бСзопасности.

Π’ этой ΠΊΠ½ΠΈΠ³Π΅ содСрТатся основныС понятия: языковыС структуры, стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ инструмСнты. Π’Π°ΠΊΠΆΠ΅ рассказываСтся ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… функциях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ тСстирования ΠΈ структуры ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

ПослС прочтСния Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ тСстирования.

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

Книга для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с GΠΎ ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. ΠœΡ‹ (Π²Ρ‹) создадим Π²Π΅Π±-прилоТСния Π±Π΅Π· использования сторонних структур ΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π‘ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ с нуля.

ВмСсто Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ Π² этой ΠΊΠ½ΠΈΠ³Π΅ показываСтся, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ прилоТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Pixieset, с нуля. Книга рассчитана Π½Π° Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².

БСсцСнный рСсурс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΡ‡ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ функциями языка программирования GΠΎ.

ΠœΡ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ упустили? Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Go, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅? ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΎ Π½ΠΈΡ…, ΠΈ ΠΎΠ½ΠΈ Π²ΠΎΠΉΠ΄ΡƒΡ‚ Π² Π½Π°ΡˆΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ πŸ™‚

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ языку программирования Go:

Ρ…Ρ€ΠΎΠΌ aΓ§Δ±lış sayfasΔ±nΔ± google yapma

Google Chrome tarayıcınızı ana sayfa açtığınızda otomatik www.google.com.tr ile açmasını mı istiyorsunuz. Bunun için yapmamız gerekenler sırası ile sizlere anlatmaya çalışacağım.

Google Chrome tarayΔ±cΔ±nΔ±zda google ana sayfa nasΔ±l yapΔ±lΔ±r?

Google Chrome tarayıcınızı açıyorsunuz вС ardından sağ üst kâşedeki simgesine tıklıyoruz вС açılır menüde ayarlar simgesini tıklıyoruz.

ayarlar yeni sekmesi açılacak burada ayarlar sekmesinde başlangıçta seçeneği altında belirli bir sayfayı veya sayfaları aç seçeneğini seç ve sayfaları ayarla seçeneğine tıklıyoruz.

BaşlangΔ±Γ§ ​​sayfalarΔ± dΓΌzenleme ekranΔ± geliyor burada yeni sayfa ekle yanΔ±nda url adresigir’e www.google.com.tr yazΔ±yoruz ve tamam butonuna tΔ±klΔ±yoruz. Google Chrome tarayΔ±cΔ±sΔ±nda bu şekilde ana sayfamΔ±zΔ± www.google.com.tr yaparΔ±z.

Chrome tarayıcımızda açılışta otomatik istediğiniz sitelere ekleyebilirsiniz biz size google arama motorunu ayarladık siz istediğini, z siteleri ekleyebilirsiniz.

Paylaşılmayan Bilgi Bilgi Değildir.

.

Google Chrome ndir — Kurulum Yap

Google Chrome hzl bir ekilde internette gezinmenize yarayan kullanl bir taraycdr.

Google Chrome , kullanl olmas ve kullanc dostu eitli zellikler barndrmas sayesinde ne kan, Google Inc. tarafndan gelitirilen bir web tarayc yazlmdr. Google Chrome sayesinde hem hzlca internette gezinebilir hemde uyumluluk sorunlar gibi eitli sorunlar yaamadan kullanmn keyfini karabilirsiniz.

Google Chrome , arkasnda Google ‘ n desteini bulundurmasndan dolay olacak ki, en ok kullanlan web tarayc yazlmlar arasndadr hatta en ok kullanlandr da diyebiliriz.Ayrca sahip olduu geni tema ve eklenti seenekleri sayesinde kullanclara ekstra kullanm kolayl salamakta ve bu yzden daha ok tercih edilmektedir. zellikleri zaten gayet yeterli olan Google Chrome yazlmna bnyesinde bulunan « Web Store » sayesinde uzantlar edinerek ek zellikler kazandrabilir, ayrca Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½ zerindeki temalar ile yazliruizin gounuza gi.

Google Chrome Yazlmnn ne kan zellikleri

Π‘Π°Ρ‚Π°Π½ Π±Π΅Π»ΠΈΡ€Ρ‚ΠΌΠ΅Π»ΠΈΠΉΠΈΠΌ, саймаякамз Π±ΠΈΡ€ ΠΎΠΊ Π·Π΅Π»Π»ΠΈ ΠΎΠ»Π°ΠΊΠ°ΠΊΡ‚Ρ€ Ρ„Π°ΠΊΠ°Ρ‚ яслмн Π°Π½ ΠΎΠΊ ΠΊΡƒΠ»Π»Π°Π½Π»Π°Π½ Π²Π΅ иэ яраян Ρ†Π΅Π»Π»ΠΈΠΊΠ»Π΅Ρ€ΠΈ Π°Π°Π΄Π° ΠΉΠ΅Ρ€ Π°Π»ΠΌΠ°ΠΊΡ‚Π°Π΄Ρ€.

  • Sekmeleri Srkle-Brak zellii: Sekmeleri istediiniz pencereye tamanza olanak salayan bu zellik sayesinde ekstra kullanm kolayl kazanacaksaksnz ve zamandan tasarruf edeceksiniz.
  • Gizlilik Modu: Bulundurduu Gizlilik Modu sayesinde «Ctrl + Shit + N» Ρ‚Ρƒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΈΠ»Π΅ Π²Π΅ΠΉΠ° са сттСки Π°Π»ΡŒΡ€ Menden yeni bir gizli pencere aabilir, gizli pencereden yapacanz ilemzayzayzayz машинам. Π’Π°Π±ΠΈ sadece bilgisayarnzda, bu ilemler ilem yaptnz sitelerde tabi ki kaydedilmektedir belirtmemizde fayda var.
  • PDF Okuyucu: PDF formatndaki sayfalar okuma zelliine sahip olan tarayc yazlm sayesinde kolaylkla bu formattaki yazlar kullanabilirsiniz.
  • Senkronizasyon zellii: Google Chrome yazlmnn sunduu senkronizasyon zellii sayesinde tarayc yazlmnda Google hesabnz Ile oturum aarak Π”Π°Ρ… sonra farkl Π±ΠΈΡ€ bilgisayardan Veya telefonunuzdan Google Chrome yazlmna гиря yaptnzda Π±ΡƒΡˆΠ΅Π»ΡŒ cihazlardada Π•Ρ€ imlerinizi, tarayc gemiinizi Π²Π΅ Π”Π°Ρ… Bir ΠΎΠΊ EYI grebilir Π² eriebilirsiniz.
  • Otomatik Gncelleme: Bu zellik sayesinde taraycnzn srekli olarak gncel kalmas salanmaktadr ve otomatik gncelleme uyarlar sizi bilgilendirmektedir.
  • Geni Uzant ve Tema Marketi: Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½ sayesinde ihtiyacnz olan her trl zellie (VPN’den Adblocker’a kadar bir ok uzant) ve tarayc yazlmnz zelletirmenizi salayan tarayc yazlmnz zelletirmenizi salayan bir ok temaya eriebilaybilirsinizinza beendy.
  • Giri Yaptnz Sitelerin Gvenliinin Denetlenmesi: Google Chrome yazlm, giri yaptnz her siteyi denetler ve giri yaptnz sitenin herhangi bir virs vs.bulundurmas, sitenin gvenilir olmamas gibi durumlarda sizi krmz temal bir uyar sayfasyla uyarr, bu sayede ok geni olan internet zerinde gvenliiniz bir nebze olsun bu zellik sayesinde salanr, tabi ne yazk deniknizi.

Eer bir Tarayc yazlmna ihtiyacnz var ise, rahatlkla Google Chrome yazlmn tercih edebilirsiniz.

Π”Π΅Π²Π°ΠΌ ΠžΠΊΡƒ …

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *