go 有没有好的方式处理嵌套的切片

2022-04-14 14:40:35 +08:00
 Reid

在查看 redis slowlog 时查询出来的时 interface{}, 实际是个嵌套的切片, 断言起来非常麻烦。如下: 前三个元素时 int , 后面一个元素又是个切片,不能很好一次性的转类型,现在有没有处理的第三方包,或者其他什么较好的方法处理这种情况? [[3411585 1649892418 215157 ["del" "somekey"]...]

1947 次点击
所在节点    Go 编程语言
9 条回复
HiShan
2022-04-14 14:58:00 +08:00
反射 + 递归 ?
yleoer
2022-04-14 15:07:46 +08:00
wellsc
2022-04-14 15:12:35 +08:00
@HiShan 就变成了屎山
yleoer
2022-04-14 15:16:02 +08:00
Reid
2022-04-14 17:06:04 +08:00
@HiShan
@yleoer
@wellsc
收到,感谢
hzzhzzdogee
2022-04-14 18:08:24 +08:00
反射+递归 正解
rrfeng
2022-04-14 19:41:32 +08:00
它是固定格式啊,断言就够了。又不会出现某个位置类型突变的情况。
HiShan
2022-04-14 20:21:01 +08:00
@wellsc 为啥?
joesonw
2022-04-15 09:13:21 +08:00
返回[]interface{}是因为可能有空值,你直接 redis-cli 试试就知道了。返回[]interface{}的命令是有可能中间有 nil 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846933

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX