Найти Π² Π”Π·Π΅Π½Π΅
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста

πŸƒ Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Go для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 4. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… прСобразования. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

ОглавлСниС

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ понятия Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ научимся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

← Π§Π°ΡΡ‚ΡŒ 3

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°. ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Π’Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ тСкста

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

   ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Go
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Go

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ – это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ мСста Π² памяти, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ постоянного хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ позволяСт:

  1. Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π½Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ позволяСт Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² Ρ€Π°Π·Π½Ρ‹Ρ… частях ΠΊΠΎΠ΄Π°.
  2. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. ЗначСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² процСссС написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎ обСспСчиваСт Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Бпособы задания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Go

Π’ Go Π΅ΡΡ‚ΡŒ нСсколько способов задания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

  1. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова var с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
  1. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ объявлСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания :=, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сам распознаСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² зависимости ΠΎΡ‚ значСния:
  1. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова var ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° :=

Π’ Go ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ своим Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Для Ρ†Π΅Π»Ρ‹Ρ… чисСл это Π±ΡƒΠ΄Π΅Ρ‚ 0, для строк – пустая строка (""), для логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ – false ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

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

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

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

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

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

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

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ – это Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ с нСизмСняСмым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для хранСния фиксированных Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ… вычислСниС происходит Π²ΠΎ врСмя компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Go для создания констант ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово const:

Π’Ρ‹Π²ΠΎΠ΄ значСния ΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Для Π²Ρ‹Π²ΠΎΠ΄Π° значСния ΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fmt.Print (ΠΈΠ»ΠΈ fmt.Println для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку) ΠΈ fmt.Printf соотвСтствСнно ΠΈΠ· Ρ€Π°Π½Π΅Π΅ ΠΈΠ·ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° fmt:

  1. Ѐункция fmt.Printf Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ Π² соотвСтствии с шаблоном. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ вмСсто %T Π½Π° Π²Ρ‹Π²ΠΎΠ΄ поступит Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ num.

ΠŸΡ€Π°Π²ΠΈΠ»Π° имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Go

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Go:

  1. ΠœΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ латинскиС Π±ΡƒΠΊΠ²Ρ‹, Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ символ подчСркивания (a-z, A-Z, 0-9, ΠΈ _ ).
  2. Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ»ΠΈ символа подчСркивания.
  3. Π§ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ рСгистру. Π’ΠΎ Π΅ΡΡ‚ΡŒ name, NAME ΠΈ Name – это Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.
  4. НС ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π² Go: var, break, const, type ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список нСдопустимых ΠΈΠΌΡ‘Π½ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² спСцификации Go.

Помимо ΠΏΡ€Π°Π²ΠΈΠ» рСкомСндуСтся ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ соглашСниям ΠΏΠΎ имСнованию ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

  1. По возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, особСнно для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Ρ†ΠΈΠΊΠ»Π΅, Ссли это Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ смысла. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: cnt вмСсто countValues, i вмСсто index ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.
  2. Π§Π΅ΠΌ дальшС ΠΎΡ‚ своСго объявлСния находится имя, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ это касаСтся Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….
  3. Для экспортируСмых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄Π½Ρ‹ Π²Π½Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: GetUser, GenerateValue.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

   Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Go
Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Go

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

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Go дСлятся Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΈ составныС. К ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ относятся Ρ†Π΅Π»Ρ‹Π΅, вСщСствСнныС ΠΈ комплСксныС числа, строки, Π±Π°ΠΉΡ‚Ρ‹ ΠΈ Ρ€ΡƒΠ½Ρ‹. К составным Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… относятся массивы, структуры, срСзы, ΠΌΠ°ΠΏΡ‹, ΠΊΠ°Π½Π°Π»Ρ‹, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ интСрфСйсы.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° с составными познакомимся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ….

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π¦Π΅Π»Ρ‹Π΅ числа – int

Π¦Π΅Π»Ρ‹Π΅ числа Π² Go прСдставлСны 10 Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ чисСл: Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ (int) ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ (uint). ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π·Π° счСт этого ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ мСньшим Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€Ρ‹Π΅ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ с большим Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² Π±Ρ‹Π²Π°Π΅Ρ‚ 1-, 2-, 3- ΠΈ 4-Π±ΠΈΡ‚Π½Ρ‹ΠΌ ΠΈ записываСтся ΠΊΠ°ΠΊ int8, int16, int32, int64 (для uint Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ) соотвСтствСнно. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΠΈΡ‚ опрСдСляСт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, для int8 – ΠΎΡ‚ -128 Π΄ΠΎ 127, int16 ΠΎΡ‚ -32768 Π΄ΠΎ 32767 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

  • int β€” Ρ‚ΠΈΠΏ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ†Π΅Π»ΠΎΠ³ΠΎ числа. Если ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Ρ‚ΠΈΠΏ, ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ int.
  • ОбъявлСниС:

ВСщСствСнныС числа – float

Π”Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа Π² Go прСдставлСны Ρ‚ΠΈΠΏΠΎΠΌ float, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 32- ΠΈ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΌ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΅Π³ΠΎ прСдставлСния Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ стандаром IEEE754.

  • float64 β€” Ρ‚ΠΈΠΏ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для вСщСствСнного числа. Если ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Ρ‚ΠΈΠΏ, ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ float64.
  • ОбъявлСниС:
  • ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния для Ρ‚ΠΈΠΏΠ° float ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ math.MaxFloat64 ΠΈ math.SmallestNonzeroFloat64 (для 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 64 Π½Π° 32) соотвСтствСнно.

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа – complex

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа Π² Go ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ двумя Ρ‚ΠΈΠΏΠ°ΠΌΠΈ с Ρ€Π°Π·Π½ΠΎΠΉ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ – compex64 ΠΈ complex128, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠ½ΠΈΠΌΡ‹Π΅ части, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°ΠΌ float32 ΠΈ float64 соотвСтствСнно. Они часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… цСлях, Π½ΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ€Π΅Π΄ΠΊΠΎ.

  • ОбъявлСниС:

ЛогичСскиС значСния – bool

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… bool ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ – true (истина) ΠΈΠ»ΠΈ false (лоТь). Он часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΈ логичСских выраТСниях.

  • ОбъявлСниС:

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ – string

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Go ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ символ Π² Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ΅ количСство Π±Π°ΠΉΡ‚ΠΎΠ² Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

  • ОбъявлСниС:

Π ΡƒΠ½Ρ‹ – rune

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… rune Π² Go являСтся псСвдонимом для int32 ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния Unicode символов.

Π‘Π°ΠΉΡ‚Ρ‹ – byte

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… byte Π² Go – это псСвдоним для Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ 8-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ цСлочислСнного Ρ‚ΠΈΠΏΠ° (uint8). Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΎΡ‚ 0 Π΄ΠΎ 255, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния ASCII-символов.

  • ОбъявлСниС:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

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

Рассмотрим ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎ пяти Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ: арифмСтичСскиС, логичСскиС, сравнСния, Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ + слоТСниС 12 + 4 16 - Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ 10 – 6 4 * ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3 * 4 12 / Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 4 / 2 2 % взятиС остатка 5 % 3 2

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ && логичСскоС И 1 > 2 && 3 < 4 false || логичСскоС Π˜Π›Π˜ 2 < 3 || 4 > 5 true ! логичСскоС НЕ !(2 < 3) false

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ == Ρ€Π°Π²Π½ΠΎ 1 == 1 true != Π½Π΅ Ρ€Π°Π²Π½ΠΎ 2 != 3 true < мСньшС 4 < 3 false <= мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ 5 <= 5 true > большС 6 > 7 false >= большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ 10 >= 9 true

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ & ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ И 10 (1010) & 8 (1000) 8 (1000) | ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜ 10 (1010) | 8 (1000) 10 (1010) ^ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ (XOR) 10 (1010) ^ 8 (1000) 2 (0010) << Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг Π²Π»Π΅Π²ΠΎ 2 (0010) << 2 8 (1000) >> Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ сдвиг Π²ΠΏΡ€Π°Π²ΠΎ 8 (1000) >> 2 2 (0010)

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ & взятиС адрСса b := &a пСрСмСнная b Ρ…Ρ€Π°Π½ΠΈΡ‚ адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a * ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ *b = 5 эквивалСнтно записи a = 5 <- ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ val := <-channel ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния ΠΈΠ· ΠΊΠ°Π½Π°Π»Π° channel

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ числовых Ρ‚ΠΈΠΏΠΎΠ²

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ разрядности осущСствляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· большСго ΠΏΠΎ разрядности Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² мСньший ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ:

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚

Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ int Π² float:

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл Π² Ρ†Π΅Π»Ρ‹Π΅ происходит отбрасываниС Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части:

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈ нСобходимости ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠ°:

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ чисСл Π² строки

Для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° числовых Ρ‚ΠΈΠΏΠΎΠ² (int, float) Π² строку ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fmt.Sprint ΠΈ fmt.Sprintf ΠΈΠ· стандартного ΠΏΠ°ΠΊΠ΅Ρ‚Π° fmt. ОбС ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ строку, Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ пСрвая Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ с использованиСм стандартого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π° вторая – Π² соотвСтствии с ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ шаблоном.

Π£ шаблонов Π΅ΡΡ‚ΡŒ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² примСнСния. НапримСр, Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· использования Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ пСрСвСсти число Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΡƒΡŽ систСму счислСния:

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список шаблонов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ go.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ пСрСвСсти Ρ†Π΅Π»ΠΎΠ΅ число Π² строку – Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ strconv.ItoaΠΈΠ· стандартного ΠΏΠ°ΠΊΠ΅Ρ‚Π° strconv:

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ строк Π² числа

Для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ строк Π² числа ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция strconv.Atoi , которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π²Π° значСния – Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π² Go ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ конструкция:

Если вмСсто числа ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка, Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ num присвоится 0:

ΠŸΠΎΠ΄Π²Π΅Π΄Ρ‘ΠΌ ΠΈΡ‚ΠΎΠ³ΠΈ

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с основными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π² Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… прСобразованиях.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΌ наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ условных конструкций ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², Ρ€Π΅ΡˆΠΈΠΌ нСсколько нСслоТных Π·Π°Π΄Π°Ρ‡.

***

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

  1. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… прСобразования. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.