返回 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 回答

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