golang 中map使用的一些坑
1、使用map[string]interface{},类型断言[]int失败
- 接收下游的数据是用json转为map[string]any
```go
a := "{\"a\":\"1\",\"b\":[123]}"
var marshal map[string]any
json.Unmarshal([]byte(a), &marshal)
if m ,ok = marshal["b"].([]int); ok {
}
-
上诉的代码片段就会断言失败
这时候,debug可以看到,a的类型是[]interface{} 的一种方式
然后就把断言改为[]interface{} 就OK了