php小编柚子在这里为大家介绍一种使用反射器指针的方法来设置map1和map2的值。通过反射器指针,我们可以方便地访问和修改对象的属性和方法,实现对map1和map2的值的动态设置。这种方法不仅简单易懂,而且提供了灵活性,可以根据需要随时更改map1和map2的值。下面就让我们一起来看看具体的操作步骤吧!
测试我的示例代码: 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。 帮助我使用“设置”功能的人发送了一个代码。 希望你也发来。 由于某种原因它起作用了,但现在不起作用了。
我无法分配给地图, 因为这个函数的制作方式使得我什至不知道该值是来自数组(如果它是变量还是地图标签)
“设置”功能适用于不同类型 https://go.dev/play/p/tggxpxf5kx9
我确信可行的一种方法是创建一个指针,而不是地图指针, 一个指向 2 个映射值的指针
“设置”功能基于将指针设置为另一个指针。 我认为错误是我指向了错误的指针
我设想,在创建值时我创建了两个指向该值的指针,即 ** 并以这种方式改变。 谢谢:@JimB
以上是通过反射器指针设置map1和map2的值的详细内容。更多信息请关注PHP中文网其他相关文章!