func Marshal(v interface{}) ([]byte, error)
func Unmarshal(data []byte, v interface{}) error
注意 Marshal 接受一个接口并返回一个 []byte 作为输出,而 Unmarshal 接受一个 []byte 并将输出直接写入输入参数数据
设计有何不同
一个相关的问题:
我认为使用输入参数可以保存一次内存副本(函数返回需要一个副本),golang中的每个赋值都是一个副本操作,所以看起来Unmarshal可以保存副本,但Marshal不能。
所以我很困惑...
慕无忌1623718
隔江千里
相关分类