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 (
|
||||
"demo/weather/geo"
|
||||
"demo/weather/weather"
|
||||
"flag"
|
||||
"fmt"
|
||||
|
||||
@@ -11,7 +12,7 @@ import (
|
||||
func main() {
|
||||
color.Green("__ПОГОДА__")
|
||||
city := flag.String("city", "", "Город пользователя")
|
||||
// format := flag.Int("format", 1, "Формат вывода погоды")
|
||||
format := flag.Int("format", 1, "Формат вывода погоды")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
@@ -20,5 +21,7 @@ func main() {
|
||||
if err != nil {
|
||||
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