我有一个函数
func outputJsonForModel(w http.ResponseWriter, obj []Obj) { b, err := json.Marshal(obj) if err != nil { fmt.Println(err) return } w.Header().Set("Content-Type", "application/json") fmt.Fprintf(w, string(b)) }
我做什么类型的参数 obj []Obj 这样我就可以通过任何物体?
obj []Obj
在Go中还不存在泛型,但是可以使用接口类型来传入任何类型。
json.Marshal
func Marshal(v interface{}) ([]byte, error) { e := newEncodeState() err := e.marshal(v, encOpts{escapeHTML: true}) if err != nil { return nil, err } buf := append([]byte(nil), e.Bytes()...) encodeStatePool.Put(e) return buf, nil }