Object 每个golang对象都从哪个对象继承?

Object 每个golang对象都从哪个对象继承?,object,go,Object,Go,我有一个函数 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.Fp

我有一个函数

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
设置为什么类型,以便传入任何对象?

Go中还没有泛型,但您可以使用接口类型传入任何类型

如果查看封送处理函数本身的代码,您将看到它还使用接口类型


go中没有对象,也没有继承权。哦,好吧,我现在明白为什么了,谢谢。我是新手,但对编程并不陌生。将语句
fmt.Fprintf(w,string(b))
替换为更简单、性能更高的语句
w.Write(b)
。我可以想象,它会被否决,因为你甚至没有做最起码的研究来知道go没有对象或继承。这通常在任何介绍的第一节中都会涉及到。还要注意一个错误的假设,即对象必须是基类/类型固有的。虽然有些OO语言可以做到这一点,但并非所有语言都能做到。
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

}