代码之家  ›  专栏  ›  技术社区  ›  Keith Becker

每一个golang对象都继承了什么对象?

  •  -2
  • Keith Becker  · 技术社区  · 4 年前

    我有一个函数

    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 回复  |  直到 4 年前
        1
  •  1
  •   Dharman Aman Gojariya    4 年前

    在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
    
    }
    
    推荐文章