函数接收器调用未初始化的type类型,make初始化问题???

我是新学者,下列代码会报错,原因是UserMap没有初始化,但是按照我下面的方法um = make(map[int]People)初始化,um在IDE里会出现灰色下划线警告,怎样做才能正确的初始化并使用,请指教,谢谢了

type People struct {
    Name string
    Sex  byte
}

type UserMap map[int]People

func (um UserMap) Get(id int) UserMap {
    //um = make(UserMap)
    um[id] = People{Name: "张三", Sex: 1}
    return um
}

func (um UserMap) Say(id int) UserMap {
    //um = make(map[int]People)
    delete(um, id)
    return um
}

func main() {
    var s UserMap
    val := s.Get(1)
    fmt.Println(val)
    val = s.Say(1)
    fmt.Println(val)
}
阅读 1k
1 个回答
func main() {
    var s UserMap = make(UserMap)
    val := s.Get(1)
    fmt.Println(val)
    val = s.Say(1)
    fmt.Println(val)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题