Fix string format
This commit is contained in:
15
go-demo-5/.vscode/launch.json
vendored
Normal file
15
go-demo-5/.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
// Используйте IntelliSense, чтобы узнать о возможных атрибутах.
|
||||||
|
// Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
|
||||||
|
// Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Launch Package",
|
||||||
|
"type": "go",
|
||||||
|
"request": "launch",
|
||||||
|
"mode": "auto",
|
||||||
|
"program": "${fileDirname}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"demo/weather/geo"
|
"demo/weather/geo"
|
||||||
|
"demo/weather/weather"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
@@ -11,7 +12,7 @@ import (
|
|||||||
func main() {
|
func main() {
|
||||||
color.Green("__ПОГОДА__")
|
color.Green("__ПОГОДА__")
|
||||||
city := flag.String("city", "", "Город пользователя")
|
city := flag.String("city", "", "Город пользователя")
|
||||||
// format := flag.Int("format", 1, "Формат вывода погоды")
|
format := flag.Int("format", 1, "Формат вывода погоды")
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
@@ -20,5 +21,7 @@ func main() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err.Error())
|
fmt.Println(err.Error())
|
||||||
}
|
}
|
||||||
fmt.Println(*geoData)
|
// fmt.Println(*geoData)
|
||||||
|
weatherData := weather.GetWeather(*geoData, *format)
|
||||||
|
fmt.Println(weatherData)
|
||||||
}
|
}
|
||||||
|
|||||||
31
go-demo-5/weather/weather.go
Normal file
31
go-demo-5/weather/weather.go
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
package weather
|
||||||
|
|
||||||
|
import (
|
||||||
|
"demo/weather/geo"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetWeather(geo geo.GeoData, format int) string {
|
||||||
|
baseUrl, err := url.Parse("https://wttr.in/" + geo.City)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
params := url.Values{}
|
||||||
|
params.Add("format", fmt.Sprint(format))
|
||||||
|
baseUrl.RawQuery = params.Encode()
|
||||||
|
resp, err := http.Get(baseUrl.String())
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
body, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return string(body)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user