2017-10-20 209 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)) 
    }