在返回 JSON 的結果時,使用 marshalledstruct或map. 我已經看到一些代碼使用 map 并將它們編組為 json 返回,其他代碼使用編組結構返回 json 響應。例子:使用struct:type Response struct { A int `json:"a"` B string `json:"b"`}r := Response{A:1,B:"1"}resp, _ := json.Marshal(r)使用map:m := map[string]interface{}{ A: 1, B: "1",}resp, _ := json.Marshal(m)哪個更好?
1 回答

慕妹3242003
TA貢獻1824條經驗 獲得超6個贊
我的想法是使用 Struct 更好,因為定義了字段的類型。如果您使用 map ,那么顯然您將使用 map[string]interface{} 因為值會有所不同。使用接口類型的數據將分配堆內存。由于您只是返回響應,因此最好使用具有已定義類型的 struct 來減少對類型的運行時間檢查。性能差異并不重要。
- 1 回答
- 0 關注
- 84 瀏覽
添加回答
舉報
0/150
提交
取消