Как преобразовать карту карты интерфейса в строку в go lang - PullRequest
0 голосов
/ 20 февраля 2019

Я новичок в изучении языка, и у меня есть тип переменной, как показано ниже:

type ResultData map[string]map[string][]interface{}

Когда я получаю данные в этой переменной, как мне преобразовать все данные в одну строку в Go lang?Любая помощь будет оценена.

1 Ответ

0 голосов
/ 20 февраля 2019

Вы можете использовать что-то вроде Sprintf:

func main() {
    d1 := map[string][]interface{}{
        "a": []interface{}{20, "hello"},
        "b": []interface{}{100}}
    d2 := map[string][]interface{}{
        "x": []interface{}{"str", 10, 20},
    }

    m := make(map[string]map[string][]interface{})
    m["d1"] = d1
    m["d2"] = d2

    s := fmt.Sprintf("%v", m)
    fmt.Println(s)
}

Или вы можете также сделать это с модулем json для преобразования в строку JSON с json.Marshal.Если фактический тип времени выполнения вашего interface{} способен маршалировать до JSON, json.Marshal выяснит это самостоятельно.

b, _ := json.Marshal(m)
fmt.Println(string(b))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...