Fix string format

This commit is contained in:
Archie Fox
2025-03-26 22:29:46 +03:00
parent f162a3300d
commit 67b53cd4c4
3 changed files with 51 additions and 2 deletions

15
go-demo-5/.vscode/launch.json vendored Normal file
View 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}"
}
]
}

View File

@@ -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)
} }

View 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)
}