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中有用的片段