如何更新数组的结构数据

我正在尝试在用户结构中创建数组后使用 SetAge() 函数更新数据结构的“年龄”。这是代码片段:


//data struct to set the user details

type data struct {

  Name        string `json:"name"`

  College     string `json:"college"`

  Age         int64  `json:"age"`

}


// user struct to store the user details in JSON Array        

type user struct {

    DataValue     []*data `json:"data"`

}


func (u *user) Details(name, college string) *user {

  d:=&data{Name:name, College:college}

  u.DataValue=append(u.DataValue, d)

  return u

}


func (u *user) SetAge(age int64) *user { //age is optional

  // what code should be here such that age is added to resp detail

}


Output:

"data":[{

  "name":"test",

  "college":"test",

  "age":10

},{

  "name":"test",

  "college":"test" 

  // in this object "Age" hasn't been set

}]


月关宝盒
浏览 89回答 2
2回答

幕布斯6054654

如果你想更新所有对象的字段,你Age就差不多完成了。data您只需要遍历u.DataValue切片,并按如下方式更新年龄字段:func (u *user) SetAge(age int64) *user {    for index := range u.DataValue {        u.DataValue[index].Age = age    }    return u}

暮色呼如

根据我的应用程序的要求,它会是这样的:func (u *user) SetAge(age int64) *user {    u.DataValue[len(u.DataValue) - 1].Age = age    return u}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go