Go 和 JavaScript 数据交互技巧

267 阅读1分钟

前端传递数据给 Go,一般会以JSON格式传递。而JSON 数字的范围是-(2^53 - 1) 到 2^53 - 1之间,Go int64的范围要远大于它。所以需要进行一些操作。来避免传递数据的失真。

一种讨巧的做法是 Go 在声明类型的时候,把大数字转为字符串

type MyData struct {
    ID   int64  `json:"id,string"` // 重点是string
    Name string `json:"name"`
}

另一种做法是采用序列化和反序列化的方法。

json.Marshal()(序列化)与json.Unmarshal(反序列化)

参考文章:
图灵社区 (ituring.com.cn)
你需要知道的那些go语言json技巧 | 李文周的博客 (liwenzhou.com)