using map[string]interface{} :

10,070

You should initialize it like this:

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)
}

Stripped down to compile: http://play.golang.org/p/bXVOwIhLlg

Share:
10,070
abdel
Author by

abdel

Updated on June 04, 2022

Comments

  • abdel
    abdel about 2 years

    Given the following code:

    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)
    
    }
    

    The idea is to be able to send a block of an unknown amount id1 => val1, id2 =>val2 ... to h.route.

    it gives me this error:

    missing type in composite literal