我有一个 map[string]interface{} 因为解码为 JSON;对于普通数据,接口大多只是数字,但类型为字符串,如下所示:

var a interface{}
a="3"

然后所有的数据都会被存储到一个struct中。

type someStruct struct {
   ID string
   Number1 int
   Number2 int
   Number3 int
   Number4 int
}

所以我需要将 interface 转换为 int,但不能轻松有效地做到这一点,因为只有代码是 https://play.golang.org/p/oktbvTUbk93,如果你考虑到我应该处理所有可能的错误

我想直接将其转换为 int,我一直在寻找解决方案,但任何这种转换都可以按我的意愿工作https://play.golang.org/p/Dw67U6kZwHC

如果您想知道为什么我不直接将其解码为结构,因为它是动态数据,实际解码是这样发生的:

type dataIn struct {
   Code int         `json:"code"`
   ID   string      `json:"id"`
   Data interface{} `json:"data"`
}

然后我根据code和id来处理Data,都是不同的数据结构,所以不能直接用JSON处理