从来源来看,我无法影响我在地图中获得的数据,该地图以表示map[interface {}]interface {}
。
我需要处理所包含的数据,最好是map[string]string
(其中的数据非常适合该处理)。
我还需要从数据中生成键列表,因为这些键是事先未知的。
我可以在网上找到的大多数类似问题或多或少都说这是不可能的,但是如果我的地图是m
,则fmt.Println(m)
表明数据在那里,可读性为map[k0:v0 K1:v1 k2:v2 ... ]
。
我该怎么办fmt.Println可以做什么?
处理未知接口的一种安全方法,只需使用fmt.Sprintf()
https://play.golang.org/p/gOiyD4KpQGz
package main
import (
"fmt"
)
func main() {
mapInterface := make(map[interface{}]interface{})
mapString := make(map[string]string)
mapInterface["k1"] = 1
mapInterface[3] = "hello"
mapInterface["world"] = 1.05
for key, value := range mapInterface {
strKey := fmt.Sprintf("%v", key)
strValue := fmt.Sprintf("%v", value)
mapString[strKey] = strValue
}
fmt.Printf("%#v", mapString)
}
问题内容: 我只想编写这样的代码: 我以为可以代表任何类型,所以也可以代表任何类型,现在我知道我错了,是一个整体类型,不能视为。 因此,有人可以帮助我如何使此代码正常工作,或其他解决方案吗? PS :我知道或可以相互转换,但是实际上这并不是我的意图,可能还有另一种类型,而不是and 。 问题答案: 现在我知道我错了,是一个整体类型,不能视为。 是的,那是因为它是它自己的类型(而不是其他任何类型的“
我有一个实体 我想根据货币计算每个部门的金额,并将结果写在行中。例子: 结果:“莫斯科200美元,巴黎100美元,莫斯科200卢布” 对于it: 我收到一个结果: 但我不知道如何转换地图
问题内容: 我正在尝试从JSON获取值并将其强制转换为int,但它不起作用,而且我不知道如何正确执行。 这是错误消息: 和代码: 问题答案: 代替 你想要一个类型断言: 您不能转换接口类型值的原因是参考的规范部分中的以下规则: 转换是形式的表达式,其中是类型,并且是可以转换为类型T的表达式。 … 在以下任何一种情况下,可以将非恒定值x转换为类型T: x可分配给T。 x的类型和T具有相同的基础类型。
问题内容: 这是一个复制问题的游乐场:https : //play.golang.org/p/GgHsLffp1G 基本上,我正在尝试编写一个带有结构并返回可以将http请求解码为该类型的函数的函数。不幸的是,一些类型信息丢失了,返回的类型是map [string] interface {}而不是正确的结构类型。如何将正确的类型传达给JSON解码器?JSON解组会更好吗? 问题答案: 这似乎可行:
问题内容: 无法编码 http://play.golang.org/p/Si4hd8I0JE 可以在gob中编码吗?我可以用JSON编码 问题答案: 加 http://play.golang.org/p/Dd3IzJgl0A
我在一个类中有以下代码,它扩展了Primefaces的 在上面的过滤器是类型