当前位置: > > > > Go – 如何更新作为结构体字段的映射?
Go – 如何更新作为结构体字段的映射?
来源:stackoverflow
2024-04-19 12:39:34
0浏览
收藏
最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《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 状态 2 的错误。
有问题的行是 mystruct.scoreboard[word] = len(word)
我能找到的任何内容似乎都表明这是可以的,但我还没有找到地图位于结构内的任何其他示例。
解决方案
您需要先分配地图
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)
}
演示:
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Go – 如何更新作为结构体字段的映射?》文章吧,也可关注米云公众号了解相关技术文章。
