Go (golang) package for use with openweathermap.org's API.
For more detail about the library and its features, reference your local godoc once installed.
Contributions welcome!
- By City
- By City,St (State)
- By City,Co (Country)
- By City ID
- By Longitude and Latitude
Get the weather conditions for a given number of days.
- By City
- By City,St (State)
- By City,Co (Country)
- By City ID
- By Longitude and Latitude
Gain access to OpenWeatherMap icons and condition codes.
- Thunderstorms
- Drizzle
- Rain
- Snow
- Atmosphere
- Clouds
- Extreme
- Additional
- Fahrenheit (OpenWeatherMap API - imperial)
- Celcius (OpenWeatherMap API - metric)
- Kelvin (OpenWeatherMap API - internal)
- ...still in the works...
English - en, Russian - ru, Italian - it, Spanish - es (or sp), Ukrainian - uk (or ua), German - de, Portuguese - pt, Romanian - ro, Polish - pl, Finnish - fi, Dutch - nl, French - fr, Bulgarian - bg, Swedish - sv (or se), Chinese Traditional - zh_tw, Chinese Simplified - zh (or zh_cn), Turkish - tr, Croatian - hr, Catalan - ca
go get github.com/briandowns/openweathermap
There are a few full examples in the examples directory that can be referenced. 1 is a command line application and 1 is a simple web application.
package main
import (
"log"
"fmt"
// Shortening the import reference name seems to make it a bit easier
owm "github.com/briandowns/openweathermap"
)
func main() {
w, err := owm.NewCurrent("F", "ru") // fahrenheit (imperial) with Russian output
if err != nil {
log.Fatalln(err)
}
w.CurrentByName("Phoenix")
fmt.Println(w)
}
func main() {
w, err := owm.NewCurrent("K", "EN") // (internal - OpenWeatherMap reference for kelvin) with English output
if err != nil {
log.Fatalln(err)
}
w.CurrentByName("Phoenix,AZ")
fmt.Println(w)
}
func main() {
w, err := owm.NewForecast("F", "FI")
if err != nil {
log.Fatalln(err)
}
w.DailyByCoordinates(
&Coordinates{
Longitude: -112.07,
Latitude: 33.45,
},
)
fmt.Println(w)
}
func main() {
w, err := owm.NewCurrent("C", "PL")
if err != nil {
log.Fatalln(err)
}
w.CurrentByID(2172797)
fmt.Println(w)
}