Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Golang地图读取字符串_Go - Fatal编程技术网

从Golang地图读取字符串

从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
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)