golang mamon.go
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang mamon.go相关的知识,希望对你有一定的参考价值。
package main
import (
"github.com/codegangsta/negroni"
"github.com/gorilla/pat"
"github.com/unrolled/render"
"encoding/json"
"net/http"
"strconv"
)
func main() {
New()
}
func New() {
mux := pat.New()
r := render.New(render.Options{})
out := map[string]string{}
baseUrl := "http://aerial-valor-93012.appspot.com/challenge"
resp, err := http.Get(baseUrl)
if err != nil {
out = map[string]string{"msg": err.Error()}
}
defer resp.Body.Close()
pieceOfFood := struct{
Token string
Values []int
}{}
decoder := json.NewDecoder(resp.Body)
err = decoder.Decode(&pieceOfFood)
if err != nil {
out = map[string]string{"msg": err.Error()}
}
sum := 0
for _, v := range pieceOfFood.Values {
sum += v
}
fResp, err := http.Get(baseUrl+"/"+pieceOfFood.Token+"/"+strconv.Itoa(sum))
if err != nil {
out = map[string]string{"msg": err.Error()}
}
defer fResp.Body.Close()
food := struct{Answer string}{}
decoder = json.NewDecoder(fResp.Body)
err = decoder.Decode(&food)
if err != nil {
out = map[string]string{"msg": err.Error()}
}
out = map[string]string{"msg": food.Answer}
mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
r.JSON(w, 200, out)
return
})
n := negroni.Classic()
n.UseHandler(mux)
n.Run(":3000")
}
golang map 长度可变吗
参考技术A
长度可变。
以上是关于golang mamon.go的主要内容,如果未能解决你的问题,请参考以下文章
Golang 入门
Golang入门到项目实战 第一个golang应用
golang编译androidso无法加载
golang如何打印内存内容
Golang入门到项目实战 golang匿名函数
json [Golang] golang #golang #snippets中有用的片段