ΠΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΏΠ΅ΡΠ΅Π²Π΅Π»ΠΈ
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Python. ΠΡΠΎΡ ΡΠ·ΡΠΊ Π±ΡΠ» ΠΌΠΎΠΈΠΌ ΡΠ°Π²ΠΎΡΠΈΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΡΡΡ Π»Π΅Ρ. ΠΠ½ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΡΠΉ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ, ΠΈ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΡΠΈΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ: ΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ Β«ΡΠΎΠ·ΡΠ΅Π²Π°Π½ΠΈΠ΅Β» Go, ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ ΠΈ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΎΡ ΡΠ·ΡΠΊ Π½Π° Π²ΠΎΠΎΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΡΡ
ΡΠ΅ΡΡΠΎΠ², Π·Π°ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π½Π° Π½Π΅Π³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ. ΠΠΎ ΡΡΠΎΡ ΠΏΠΎΡΡ Π½Π΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅ β Python ΠΈΠ»ΠΈ Go: ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ. ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π― ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΡΠ±ΡΠ°Π» Go, Π΄Π°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΈ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΡ
ΡΡ ΡΠ΅ΠΌΠΎΠΉ.
Skillbox ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ: ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΡΡΡ
Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ Π½ΡΠ»Ρ .ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ: Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ Β«Π₯Π°Π±ΡΠ°Β» β ΡΠΊΠΈΠ΄ΠΊΠ° 10 000 ΡΡΠ±Π»Π΅ΠΉ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΊΡΡΡ Skillbox ΠΏΠΎ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄Ρ Β«Π₯Π°Π±ΡΒ».
ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Ρ ΡΠ΄Π΅Π»Π°Π» Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΡΠΈ, β ΠΈΠ·ΡΡΠΈΠ» ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» β
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ Π·Π½Π°Π½ΠΈΡ, Ρ ΠΏΡΠΎΡΠΈΡΠ°Π» Π΅ΡΠ΅ ΠΈ ΠΊΠ½ΠΈΠ³Ρ β
Π― Π²Π·ΡΠ» ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π² Python (ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ JSON ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ HTTP-Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ), ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡ Π½Π° Go. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΌΡ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΌΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΡΠ²ΠΈΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ.
ΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Python Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Go β Π΄Π°.
Go ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Β«ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡΒ» ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Ρ ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°, Π° ΠΏΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠΎΠ΄ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΌ.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» β
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠΎΠ³Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ
Go ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, ΠΈ ΡΡΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡ ΠΏΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π½Π΅ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°ΡΠ΅Π»ΠΊΠ΅ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΏΡΠΈΠ²ΡΠΊ ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠ°ΠΌ Π²ΡΠΎΠ΄Π΅ Python ΠΈ Ruby.
ΠΠ΅Ρ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠΉ, ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠΈΠ»ΠΈΠΉ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈΠΌΠ΅Ρ β ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΡΠ½ΠΊΡΠΈΡ (ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΈ ΡΠ΅Π΄ΠΊΠΎ), ΡΠΎ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ TypeError.
Π Go ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠΈΠΏ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ.
Π‘Π½Π°ΡΠ°Π»Π° ΡΡΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ: ΠΌΠ½Π΅ ΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΡΠ° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Go Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ, β Π½ΠΎ ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ, Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ.
ΠΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ
Π£ Go Π΅ΡΡΡ Π½Π°ΡΠΈΠ²Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² β ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΏΠΎΠ½Π°ΡΠ°Π»Ρ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ, ΠΈ Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, Π°ΠΊΡΠΈΠ²Π½ΠΎ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ.
ΠΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ
package main
func main() {
// create new channel of type int
ch := make(chan int)
// start new anonymous goroutine
go func() {
// send 42 to channel
ch <- 42
}()
// read from channel
<-ch
}
ΠΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
Π Π°Π±ΠΎΡΠ° Ρ JSON
ΠΡ, json.loads() Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ. Π Python Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ json.loads, ΠΈ Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠΎ Π² Go, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅.
ΠΠ΄Π΅ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ JSON Π²ΡΠ΅ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ. ΠΡΠ±ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π±ΡΠ΄Π΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, ΠΈ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ. ΠΠ± ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΡΠΌΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ. ΠΠ°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π² JSON, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ, Π° ΠΏΠΎΠ»Ρ ΠΈ ΡΠΈΠΏΡ JSON Β«ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΡΒ» ΠΎΠ±Π΅ΠΈΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ.
{
βfirstβ: βEladβ,
βlastβ: βLeevβ,
βlocationβ:βILβ,
βidβ: β93β
}
type AccountData struct {
First string `json:"first"`
Last string `json:"last"`
Location string `json:"location"`
ID string `json:"id"`
}
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ JSON Π±Π΅Π· ΡΡΡΡΠΊΡΡΡ, Π½ΠΎ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΈΡΠΎΠ΄Ρ ΡΠ·ΡΠΊΠ°.
ΠΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ JSON Π½Π° GO Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ
ΠΠ΅Π½ΠΈΡΠ΅ΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ JSON Π² Go-ΡΡΡΡΠΊΡΡΡΡ? ΠΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ,
Π§ΠΈΡΡΡΠΉ ΠΊΠΎΠ΄
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Go Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°ΡΠ°ΡΡΡΡ Π΄Π΅ΡΠΆΠ°ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Β«Π² ΡΠΈΡΡΠΎΡΠ΅Β». ΠΠ½ ΡΡΠΈΡΠ°Π΅Ρ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π Go ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅ΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’Π°ΠΊ, Go Π·Π°ΠΏΡΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ gofmt ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ°ΠΌ Π½Π΅Ρ Π΄Π΅Π»Π° Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ? ΠΠΊΠ΅ΠΉ! ΠΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ _ (ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅) ΠΈ Π½Π°Π·Π½Π°ΡΡΡΠ΅ Π΅Π³ΠΎ ΠΏΡΡΡΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ.
ΠΠ°ΡΡΡΠΈΠ΄-ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠΌ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· β
ΠΠΎΠΈΡΠΊ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Ρ Python ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠΎΠ΄Π΅ Flask, Jinja2, Requests ΠΈ Π΄Π°ΠΆΠ΅ Kazoo, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΠΎΡΠ»ΡΡ, ΡΡΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄Π»Ρ Go.
ΠΠΎ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ ΡΠΆΠ΅ ΡΠ΅ΡΠΈΠ»ΠΎ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: Ρ ΡΠ·ΡΠΊΠ° Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π±ΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅.
ΠΠΎΡ ΠΌΠΎΠΈ ΡΠ°Π²ΠΎΡΠΈΡΡ.
Python Requests => net/http
Flask + Jinja2 => Gin
ΠΡΠ΅Π½ΠΈΡΠ΅
CLI Creation => Cobra
Cobra ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΊΡΡΠΏΠ½ΡΡ
Go-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
, Π²ΠΊΠ»ΡΡΠ°Ρ Kubernetes, etcd ΠΈ OpenShift.
ΠΠΎΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ:
ΠΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
[1]
ΠΠΎΠ΄Π²ΠΎΠ΄ΠΈΠΌ ΠΈΡΠΎΠ³ΠΈ
ΠΡΠ΄ΡΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Python Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΈ Π»Π΅Ρ, Ρ Π±ΠΎΡΠ»ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Go Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΌ.
ΠΠΎ Π½Π΅Ρ: Π΅ΡΡΡ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° Go, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ ΠΈ Π²Π°ΠΌ.
Go Π±ΡΡΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Google ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π³Π»Π°Π²Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ!
Skillbox ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ:
- ΠΠ²ΡΡ Π»Π΅ΡΠ½ΠΈΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΡΡΡ
Β«Π― β Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ PROΒ» .- ΠΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ
Β«ΠΡΠΎΡΠ΅ΡΡΠΈΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ» .- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΡΡΡ
Β«PHP-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ 0 Π΄ΠΎ PROΒ» .
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com