操场上的问题: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"
}
- 1 回答
- 0 关注
- 203 浏览
添加回答
举报
0/150
提交
取消