πŸ”₯ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Go ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ синтаксиса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, это Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΈΠ· Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ β€”Β Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Go-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°ΡŽΡ‚ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

πŸ”₯ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Go ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ синтаксиса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок

Команда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Go ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ объявила, Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ синтаксис ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π² языкС.

ПослС ΡˆΠ΅ΡΡ‚ΠΈ Π»Π΅Ρ‚ обсуТдСний, сотСн ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ ΠΈ Ρ‚Ρ€Π΅Ρ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ² ΠΎΡ‚ самих Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Go принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ β€” Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ΄Π΅ΠΉ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° достаточной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ

Go часто ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΡŽΡ‚ Π·Π° ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибок. Код Π²Ρ€ΠΎΠ΄Π΅:

			x, err := call() if err != nil {     return err }  		

становится Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΡΡ‚ΠΈΡŽ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ Π΅Ρ‰Π΅ Π² 2018 Π³ΠΎΠ΄Ρƒ: сначала Ρ‡Π΅Ρ€Π΅Π· check/handle, Π·Π°Ρ‚Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ try, ΠΈ Π½Π΅Π΄Π°Π²Π½ΠΎ β€” с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ?, ΠΊΠ°ΠΊ Π² Rust.

Однако Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π΅ устраивало всСх: ΠΎΠ΄Π½ΠΎ Π±Ρ‹Π»ΠΎ слишком слоТным, Π΄Ρ€ΡƒΠ³ΠΎΠ΅ скрывало ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

Иск Π½Π° $1.2 ΠΌΠ»Ρ€Π΄: Apple ΠΎΠ±Π²ΠΈΠ½ΠΈΠ»ΠΈ Π² Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΡ€Π½ΠΎ с Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ»Π΅Ρ‚Π½ΠΈΠΌΠΈ Π² iCloudtproger.ru

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ случаС обсуТдСния ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π»ΠΈΡΡŒ сотнями ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌ разногласиСм Π΄Π°ΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Google Go.

Π§Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ?

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹, связанныС с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ синтаксиса ошибок, ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ прСдлоТСния Π±Π΅Π· дальнСйшСго рассмотрСния. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

  • Ни ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» консСнсуса. Новая конструкция Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»Π° Π±Ρ‹ вСсь экосистСмный ΠΊΠΎΠ΄, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΎΠ².
  • Π’ Go принято ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ β€” Β«ΠΎΠ΄ΠΈΠ½ способ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈΒ». Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² сломало Π±Ρ‹ этот ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ.
  • Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Go Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°ΡŽΡ‚ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ ΠΈ Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ.

ВмСсто этого ΠΊΠΎΠΌΠ°Π½Π΄Π° сосрСдоточится Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ€ΠΎΠ΄Π΅ cmp.Or) ΠΈ инструмСнтах IDE: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ΠΈ смогут ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π½Π΅ мСняя сам язык.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅:  Asus ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ доступный ΠΈΠ³Ρ€ΠΎΡ„ΠΎΠ½ ROG Phone 9 FE.

А Ρ‡Ρ‚ΠΎ с ΠΆΠ°Π»ΠΎΠ±Π°ΠΌΠΈ?

Ошибки ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто Π² спискС Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Go (послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ). Но, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Π½Π΅ всС хотят ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π°Π΄ΠΈ краткости.

ОсобСнно Ссли это услоТнит ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΠΈΠ΄ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ. Команда ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚: ΠΎΠ½ΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²Ρ‹ΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅ΠΈ β€” Π½ΠΎ Π½Π΅ ΠΏΠΎ синтаксису.

Π’Ρ‹Π²ΠΎΠ΄: для Go-ΠΌΠΈΡ€Π° всС остаСтся ΠΏΠΎ-старому. Как ΠΈ 15 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, ошибки ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· if err != nil, ΠΈ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ Π΄ΠΎΠ»Π³ΠΎ.

ΠŸΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ? ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ:
CyberSafe: ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ