猿问

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

操场上的问题:https: //play.golang.org/p/UKB8f4qGsM

我有一些接口,我确定它们有哪种类型(实际上我没有,所以我必须输入 switch 它,但为了清楚起见我把它省略了)。如何为接口后面结构中的字段赋值?类型断言似乎带走了引用。

我也尝试过使用指针,但这也不起作用,主要是因为我不能键入断言(类型 *inter 不能被类型断言)并且当我取消引用它时,它甚至使它变得毫无意义......

我在 Go 方面没有那么有经验,我会很感激我能得到的每一个帮助。


开心每一天1111
浏览 204回答 1
1回答

慕盖茨4494581

您无法更改存储在接口中的值,您需要使用指向要更改的值的指针:for i := 0; i < 5; i++ {&nbsp; &nbsp; slice = append(slice, &b{a: a{name: "Tom"}})}for i, _ := range slice {&nbsp; &nbsp; x := slice[i].(*b)&nbsp; &nbsp; x.name = "Tim"}
随时随地看视频慕课网APP

相关分类

Go
我要回答