func test(&post) error{}func test() (post Post, err error){}
学习golang期间看到有些内部方法是通过形参形式给参数赋值的,比如json.Unmarshal定义为
func Unmarshal(data []byte, v interface{}) error {
// Check for well-formedness.
// Avoids filling out half a data structure
// before discovering a JSON syntax error.
var d decodeState
err := checkValid(data, &d.scan)
if err != nil {
return err
}
d.init(data)
return d.unmarshal(v)
}
为何不定义成如下这种方式
func Unmarshal(data []byte) (v interface, err error){
……
}