dongwo5589 2016-06-10 11:40
浏览 79
已采纳

Golang:如何编写包含字符串和数组的映射?

I am a beginner of Go. I wrote this code, but an error occurred. How should I write a map which contains string and []string properties?

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)

}

This error is from 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条回答 默认 最新

  • dougu5847 2016-06-10 11:43
    关注

    You're assigning the wrong kind of map. Try:

    prof["me"] = map[string]interface{}{
                            ^^^^^^^^^^^ instead of string
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?