2017-10-20 162 views
-1

我从Golang开始。目前,我想是从这个地图存储在关键key_field字符串:从Golang读取字符串

map[key_field:[76 95 76 105 115 116 105 110 103 73 68]] 

这张地图声明:

map:= make([]map[string]interface{}, 0) 

我要的是一个字符串存储包含的价值在字节数组,一个重视我打印了出来使用fmt.Println 谢谢你这么多

+0

我很困惑你想要做什么。一方面,这个“make”会制作一张地图片,我认为这不是你想要的(是)?你试图从/到什么地图?为什么你在地图中使用'interface {}'作为元素类型? –

+0

你到目前为止尝试过什么? – fstanis

+0

@fstanis我没有做到,它是以前的代码,离开了其他开发人员。这是查询数据库的结果,只有检索到一列(我试图获取数据的那一列) –

回答

2

如果你想存储的内部地图的字符串声明地图作为

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"]) 
} 

游乐场链接:

https://play.golang.org/p/ptWuVy64pk

0

map[key_field]是接口{},这样你必须使用类型断言序以获得正确类型的它([]字节)。

你在这里:

if needString,ok := map[key_field].([]byte); ok { 
     fmt.Println(string(needString)) 
    }