从Golang地图读取字符串
我从戈兰出发。当前,我想从该映射中获取存储到key从Golang地图读取字符串,go,Go,我从戈兰出发。当前,我想从该映射中获取存储到keykey\u字段的字符串: map[key_field:[76 95 76 105 115 116 105 110 103 73 68]] 此地图声明为: map:= make([]map[string]interface{}, 0) 我想要的是将包含在字节数组中的值存储在字符串中,这些值是我使用fmt.Println 非常感谢如果要在映射中存储字符串,请将映射声明为 values:= []map[string]string{} 因此,阅读它
key\u字段的字符串:
map[key_field:[76 95 76 105 115 116 105 110 103 73 68]]
此地图声明为:
map:= make([]map[string]interface{}, 0)
我想要的是将包含在字节数组中的值存储在字符串中,这些值是我使用fmt.Println
非常感谢如果要在映射中存储字符串,请将映射声明为
values:= []map[string]string{}
因此,阅读它会更容易,但出于某些原因,您需要一个接口地图
values := []map[string]interface{}{}
现在从这个映射中读取一个值
fmt.Println(values[index]["key"])
例如:
package main
import "fmt"
func main() {
strMap := map[string]interface{}{
"hello": "world",
}
val := []map[string]interface{}{}
val = append(val, strMap)
fmt.Println(val[0]["hello"])
}
游乐场连接:
映射[key_field]
是接口{},所以您必须使用类型断言才能获得正确的类型([]字节)
给你:
if needString,ok := map[key_field].([]byte); ok {
fmt.Println(string(needString))
}
我不知道你想做什么。首先,make
将制作一张地图,我认为这不是你想要的(是吗)?你想从/映射到什么?为什么要使用interface{}
作为映射中的元素类型?@fstanis我没有做到,这是以前留给其他开发人员的代码。这是对数据库的查询结果,只检索到一列(我试图获取数据的列),如果您知道该值是byte slice,则可以执行类型断言和byte slice to string。例如:string(mymap[“key_field”]([]byte))
@SrednyMCasanova您可能正在读取字节数组而不是字符串try string(value)或value.(string)