为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:如何更改接口切片中的结构字段值

Golang:如何更改接口切片中的结构字段值

Go
开心每一天1111 2022-01-17 17:44:17
操场上的问题:https: //play.golang.org/p/UKB8f4qGsM我有一些接口,我确定它们有哪种类型(实际上我没有,所以我必须输入 switch 它,但为了清楚起见我把它省略了)。如何为接口后面结构中的字段赋值?类型断言似乎带走了引用。我也尝试过使用指针,但这也不起作用,主要是因为我不能键入断言(类型 *inter 不能被类型断言)并且当我取消引用它时,它甚至使它变得毫无意义......我在 Go 方面没有那么有经验,我会很感激我能得到的每一个帮助。
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您无法更改存储在接口中的值,您需要使用指向要更改的值的指针:


for i := 0; i < 5; i++ {

    slice = append(slice, &b{a: a{name: "Tom"}})

}


for i, _ := range slice {

    x := slice[i].(*b)

    x.name = "Tim"

}


查看完整回答
反对 回复 2022-01-17
  • 1 回答
  • 0 关注
  • 203 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信