为了账号安全,请及时绑定邮箱和手机立即绑定

每个 golang 对象都继承自哪个对象?

每个 golang 对象都继承自哪个对象?

Go
catspeake 2022-08-01 15:26:26
我有一个函数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
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

泛型在 Go 中(尚不存在),但您可以使用接口类型来传递任何类型。


如果您从 Marshal 函数本身查看代码,您会发现它也使用接口类型。


json.元帅


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


}


查看完整回答
反对 回复 2022-08-01
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信