我是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
答案 0 :(得分:5)
你正在分配错误的地图。尝试:
prof["me"] = map[string]interface{}{
^^^^^^^^^^^ instead of string