我尝试了以下方法来更新声明为结构字段的空映射:package maintype 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)我能找到的任何东西似乎都表明这没问题,但我没有找到任何其他地图位于结构中的示例。
1 回答
Qyouu
TA贡献1786条经验 获得超11个赞
你需要先分配地图
package main
type 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
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报
0/150
提交
取消