请教:使用 map[string]interface{}之后,虽然实现了够用来存储所有类型的 map,但是取出的值却没法直接用怎么破…

2018-01-24 22:51:30 +08:00
 praynise
用 map[string]interface{}实现的 map,虽然可以放进去所有类型的数据,但是取出来的东西的类型都会变成 interface{},无法正常实现原有的使用,请问如何才能正常使用存入的数据呢?谢谢大家
1322 次点击
所在节点    Go 编程语言
7 条回复
orvice
2018-01-24 22:53:07 +08:00
类型推断
sirgod
2018-01-24 22:54:04 +08:00
类型断言
mason961125
2018-01-24 23:36:37 +08:00
其实没必要自己写解析器阿,有很多库可以用。传送门 https://godoc.org/github.com/buger/jsonparser
hxtheone
2018-01-25 09:59:37 +08:00
类型断言+1
xvsfezz
2018-01-25 10:19:14 +08:00
类型断言,就是强制转换
my3157
2018-01-25 14:46:15 +08:00
go 语言吧, 说一下我的处理办法,
声明一个 struct, struct 有私有字段 map[string]interface{}, 添加 Add Del Update 等 method , 对于常见类型, 添加 MustString, MustInt 等 method, 对于复杂结构体, 采用和 json 序列化类似的接口, 传入指针, 通过类型推断, 给指针赋值
codingcrush
2018-02-21 13:53:27 +08:00
我用的 simplejson

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

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

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

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

© 2021 V2EX