Go - 如何更新作为结构字段的地图?

我尝试了以下方法来更新声明为结构字段的空映射:


package main


type MyStruct struct {

    scoreboard map[string]int

}


func main() {

    mystruct := NewMyStruct()

    mystruct.SubmitWord('test')

}


func NewMyStruct() MyStruct {

    return MyStruct{}

}


func (mystruct *MyStruct) SubmitWord(word string) int {

    mystruct.scoreboard[word] = len(word)

    return len(word)

}

但我得到一个错误exit status 2。


有问题的线是mystruct.scoreboard[word] = len(word)


我能找到的任何东西似乎都表明这没问题,但我没有找到任何其他地图位于结构中的示例。


森栏
浏览 81回答 1
1回答

Qyouu

你需要先分配地图package maintype MyStruct struct {    scoreboard map[string]int}func main() {    mystruct := NewMyStruct()    mystruct.SubmitWord("test")}func NewMyStruct() MyStruct {    var x MyStruct    x.scoreboard=make(map[string]int)    return x}func (mystruct *MyStruct) SubmitWord(word string) int {    mystruct.scoreboard[word] = len(word)    return len(word)}操场: https: //play.golang.org/p/ipqHJ8TdUfh
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go