FA-929T


FA-929Ttest rendering image

test rendering image


modomodo

modomodo


저작자 표시 비영리 변경 금지
신고

'주저리주저리' 카테고리의 다른 글

FA-929T  (0) 2017.04.25
피청구인 대통령 박근혜를 파면한다  (0) 2017.03.24
Macbook Air ssd upgrade  (0) 2016.10.08
Sierra 한/영 변환  (0) 2016.09.24

무료로 사용할 수 있는 날씨 API

http://openweathermap.org/

회원 가입하면 무료로 날씨를 조회할 수 있는 키를 받을 수 있다. (일정 트래픽까지 인것 같은데... 받아놓은지 오래돼서 ㅋㅋ)


source



package main

import (
	"bufio"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"os"
)

// Weather is
type Weather struct {
	Coord struct {
		Lon float32 `json:"lon"`
		Lat float32 `json:"lat"`
	} `json:"coord"`
	Weather []struct {
		No          int    `json:"id"`
		Main        string `json:"main"`
		Description string `json:"description"`
		Icon        string `json:"icon"`
	} `json:"weather"`
	Main struct {
		Temp      float32 `json:"temp"`
		Pressure  float32 `json:"pressure"`
		Humidity  int     `json:"humidity"`
		TempMin   float32 `json:"temp_min"`
		TempMax   float32 `json:"temp_max"`
		SeaLevel  float32 `json:"sea_level"`
		GrndLevel float32 `json:"srnd_level"`
	} `json:"main"`
	Wind struct {
		Speed float32 `json:"speed"`
		Deg   float32 `json:"deg"`
	} `json:"wind"`
	Clouds struct {
		All int `json:"all"`
	} `json:"clouds"`
	Dt  float32 `json:"dt"`
	Sys struct {
		Message float32 `json:"message"`
		Country string  `json:"country"`
		Sunrise float32 `json:"sunrise"`
		Sunset  float32 `json:"sunset"`
	} `json:"sys"`
	No   int    `json:"id"`
	Name string `json:"name"`
	Cod  int    `json:"cod"`
}

func main() {

	resp, err := http.Get("http://api.openweathermap.org/data/2.5/weather?q=Seoul,KR&APPID=(key)&units=metric")

	if err != nil {
		panic(err)
	}

	data, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}

	println(string(data))

	var szData = []byte(data)
	var weather Weather
	err = json.Unmarshal(szData, &weather)
	if err != nil {
		panic(err)
	}

	fmt.Printf("최고 기온: %.2f °C\n", weather.Main.TempMax)
	fmt.Printf("최저 기온: %.2f °C\n", weather.Main.TempMin)
	fmt.Printf("현재기온: %.2f °C\n", weather.Main.Temp)

	reader := bufio.NewReader(os.Stdin)
	text, _ := reader.ReadString('\n')
	fmt.Println(text)
}


감사합니다.

저작자 표시 비영리 변경 금지
신고

'개발 > go' 카테고리의 다른 글

[GOLANG] 날씨조회 (openweather)  (0) 2017.03.25
Go language  (0) 2017.03.24

+ Recent posts

티스토리 툴바