使用 map[string]interface{} :

鉴于以下代码:


type Message struct {

    Params map[string]interface{} `json:"parameters"`

    Result interface{}            `json:"result"`

}


func (h Handler) Product(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {


    msg := &Message{

        Action: "get_products",

        Params: {

            "id1": val1,

            "id2": val2,

        },

    }

     h.route(msg)


}

这个想法是能够发送一个未知数量的块 id1 => val1, id2 =>val2 ... 到 h.route。


它给了我这个错误:


复合文字中缺少类型


九州编程
浏览 235回答 1
1回答

梦里花落0921

你应该像这样初始化它:func (h Handler) Product(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {    msg := &Message{        Action: "get_products",        Params: map[string]interface{}{            "id1": val1,            "id2": val2,        },    }    h.route(msg)}精简编译:http : //play.golang.org/p/bXVOwIhLlg
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go