接入 Gate.io Websocket 公开接口
根据 JSON 自动生成 struct 结构体定义
工具: JSON-to-GO https://mholt.github.io/json-to-go/
数组的前/后插入数据
1 | // 在后面插入 |
解析 JSON 数组中有不同类型的数据
1 | arr := `["str", 123]` |
参考: http://www.ojit.com/article/195233
将 map[string]interface{} 解析成 struct
从 json 解析出来的对象数据, 经常会出现 map[string]interface{} 类型, 使用第三方包轻松将其转换成指定的 struct 对象
1 | import "github.com/mitchellh/mapstructure" |
参考: https://stackoverflow.com/questions/26744873/converting-map-to-struct/26746461
怎么使用 range 循环 interface{}
经常在从 json 转回来的数据是一个 interface{}, 明明就是数组, 为啥直接 for..range 就报错?
1 | switch t := s.(type) { |
参考: https://stackoverflow.com/questions/14025833/range-over-interface-which-stores-a-slice
使用 select 阻塞获取 channel 的数据
在 select 阻塞获取数据的时候, 发现只接受到一次数据.
后来发现, 这个 select 外面需要套一层 for {} 死循环
1 | for { |