ΠΡΠΎ CLI (Command Line Interface) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ Π½Π° Go, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ³ΠΎΠ΄Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π³ΠΎΡΠΎΠ΄Π° Π² ΠΌΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ Π½Π° Π²Π΅ΡΡ Π΄Π΅Π½Ρ.
ΠΠΎΠ³ΠΎΠ΄Π½ΠΎΠ΅ CLI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ³ΠΎΠ΄Π΅ Π² ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΌ Π²Π°Ρ Π³ΠΎΡΠΎΠ΄Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ, ΠΏΠΎΠ³ΠΎΠ΄Π½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π΄ΠΎΠΆΠ΄Ρ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ Π½Π° Π²Π΅ΡΡ Π΄Π΅Π½Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ°ΡΡ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ.
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
- Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Go (Π²Π΅ΡΡΠΈΡ 1.16 ΠΈ Π²ΡΡΠ΅).
- API ΠΊΠ»ΡΡ ΠΎΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΏΠΎΠ³ΠΎΠ΄Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π²ΡΠΈΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΏΠΎΠ³ΠΎΠ΄Ρ.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΏΠΎΠ³ΠΎΠ΄Ρ.
- ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ API ΠΊΠ»ΡΡ.
- Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ CLI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Π‘ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git clone https://github.com/rovezuka/CLI-application.git
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
cd CLI-application
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
go get github.com/fatih/color
- Π HTTP-Π·Π°ΠΏΡΠΎΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ API Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅
key
Π½Π° Π»ΠΈΡΠ½ΡΠΉ
http://api.weatherapi.com/v1/forecast.json?key=ΠΠΠ¨_ΠΠΠ§ΠΠ«Π_API
- Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ:
go build
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ CLI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
CLI-application Moscow
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ Π² ΠΠΎΡΠΊΠ²Π΅:
CLI-application Moscow
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ Π² ΠΡΡ-ΠΠΎΡΠΊΠ΅:
CLI-application New-York
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ· ΠΏΠΎΠ³ΠΎΠ΄Ρ Π² ΠΠΎΠ½Π΄ΠΎΠ½Π΅:
CLI-application London
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π·Π°Π΄Π°ΡΡ (issue), Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π±Π°Π³ΠΈ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ pull request Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅ LICENSE.
Π‘ΠΎΠ·Π΄Π°Π½ΠΎ Ρ β€οΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Go.
ΠΡΠΎΡ README.md ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ ΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ API, ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Ρ.