Go语言 通过反射器指针设置map1和map2的值

bsxbgnwa  于 2023-03-16  发布在  Go
关注(0)|答案(1)|浏览(164)

测试我的示例代码:https://go.dev/play/p/G7LxjDNjNAn
最终结果:

&{0}
&{1}

我希望从示例终端输出方式

&{1}
&{1}

我在项目中的代码:

func Set(recv *Value, value Value) {
    reflect.ValueOf(recv).Elem().Set(reflect.ValueOf(value))
}

func (this *SetBlock) On_Exec(locals map[string]Value) {
        //this.inputs["Recv"].Value is pointing to the same value as global
    if this.inputs["Recv"].Value != nil {
        Set(&this.inputs["Recv"].Value, this.inputs["Value"].Value.Copy())
    }
        //this.layer.Game.Globals() is a original
        fmt.Println(this.layer.Game.Globals())
    this.outputs["After"].Value = Create_Bool(true)
}

我来是因为我都不知道怎么研究这个。
我有变化,在A和B。谁帮助我的“设置”功能发送了一个代码。希望你也发送。由于某种原因,它的工作,现在它没有。
我不能赋值给map,因为这个函数的构造方式使得我甚至不知道这个值是来自一个数组,还是一个变量或map标记
“Set”功能适用于不同类型https://go.dev/play/p/TggxPxF5kx9
一种我确信可行的方法是创建一个指针指针,而不是一个Map指针,一个指向指向2个Map值的指针的指针
设置”函数是基于将指针设置为另一个指针。我认为错误在于我指向了错误的指针

pzfprimi

pzfprimi1#

我设想,当创建的值我创建两个指针的值,这是**和那条路改变.谢谢:@JimB

相关问题