json.Unmarshal是否需要预先分配内存?

时间:2019-07-16 15:44:42

标签: go

在进行调用之前,是否应该为json.unmarshal()调用的输出对象(第二个参数)分配内存?

type Transaction struct {
        FldA            string          `json:"fldA"`
        FldB            string          `json:"fldB"`
        FldC            string          `json:"fldC"`
        FldD            string          `json:"fldD"`
        FldE            string          `json:"fldE"`
        FldF            string          `json:"fldF"`
        FldG            string          `json:"fldG"`
        FldH            string          `json:"fldH"`
}

type Asset struct {

        DocNr       string      `json:"docNr"`  
        TranDetails []Transaction   `json:"fldI"`   //array
}

var TransIn,TransOut Asset

//Note: Input json has 2000-3000 Trandetails elements
err = json.Unmarshal([]byte(InputJson),&TransIn) 

“交易详细信息”部分是一个数组,每个资产通常在2000到3000个元素之间。

在调用Unmarshal之前应该为TransIn分配内存吗?

0 个答案:

没有答案