gpt4 book ai didi

戈朗 : How to change struct field value in slice of interfaces

转载 作者:IT王子 更新时间:2023-10-29 02:14:13 25 4
gpt4 key购买 nike

Playground 问题:https://play.golang.org/p/UKB8f4qGsM

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

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

我在 Go 方面没有那么丰富的经验,如果能得到任何帮助,我将不胜感激。

最佳答案

您不能更改存储在接口(interface)中的值,您需要使用指向您要更改的值的指针:

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"
}

关于戈朗 : How to change struct field value in slice of interfaces,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37751237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com