ΠΠΏΡΠΎΡΠ΅ΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅Π΅ ΠΈΠ· ΡΠ΅ΡΠ΅Π½ΠΈΠΉ βΒ Π΄Π°ΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ 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: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ΠΈ ΡΠΌΠΎΠ³ΡΡ ΡΠΊΡΡΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π½Π΅ ΠΌΠ΅Π½ΡΡ ΡΠ°ΠΌ ΡΠ·ΡΠΊ.
Π ΡΡΠΎ Ρ ΠΆΠ°Π»ΠΎΠ±Π°ΠΌΠΈ?
ΠΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Go (ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ). ΠΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π½Π΅ Π²ΡΠ΅ Ρ ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°Π΄ΠΈ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΈΠ΄ΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ. ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π΅Ρ: ΠΎΠ½ΠΈ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ Π²ΡΡΠ»ΡΡΠΈΠ²Π°ΡΡ ΠΈΠ΄Π΅ΠΈ β Π½ΠΎ Π½Π΅ ΠΏΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ.
ΠΡΠ²ΠΎΠ΄: Π΄Π»Ρ Go-ΠΌΠΈΡΠ° Π²ΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΠΎ-ΡΡΠ°ΡΠΎΠΌΡ. ΠΠ°ΠΊ ΠΈ 15 Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· if err != nil, ΠΈ ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎ.

