Golang:我怎么能写出一个与字符串和数组混合的地图?

时间:2016-06-10 11:40:48

标签: dictionary go

我是Go的初学者。 我写了这段代码,但发生了错误。 我应该如何编写包含string[]string属性的地图?

package main

import (
    "fmt"
)

func main() {
    prof := make(map[string]map[string]interface{})

    prof["me"] = map[string]string{
        "name":       "John Lennon",
        "email":      "foobar@gmail.com",
        "phone":      "090-0000-0000",
        "occupation": []string{"Programmer", "System Engineer"},
        "language": []string{"Go", "Java", "Python", "PHP", "JavaScript", "SQL"},
        "hobby": []string{"Photography", "Traveling", "Fishing", "Eating"},
    }

    fmt.Println(prof)

}

此错误来自Ideone

# _/home/NcWlmE
./prog.go:14: cannot use []string literal (type []string) as type string in map value
./prog.go:15: cannot use []string literal (type []string) as type string in map value
./prog.go:16: cannot use []string literal (type []string) as type string in map value

1 个答案:

答案 0 :(得分:5)

你正在分配错误的地图。尝试:

prof["me"] = map[string]interface{}{
                        ^^^^^^^^^^^ instead of string