// +build ignore,OMIT

package main

import (
	"encoding/json"
	"fmt"
	"log"
	"net/http"
)

func main() {
	res, err := http.Get("http://api.openweathermap.org/data/2.5/weather?q=Portland")
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()

	var w struct {
		Weather []struct {
			Desc string `json:"description"`
		} `json:"weather"`
	}
	if err := json.NewDecoder(res.Body).Decode(&w); err != nil {
		log.Fatal(err)
	}

	fmt.Printf("No need to rush outside, we have %v.", w.Weather[0].Desc)
}
