测试我的示例代码: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值的指针的指针
设置”函数是基于将指针设置为另一个指针。我认为错误在于我指向了错误的指针
1条答案
按热度按时间pzfprimi1#
我设想,当创建的值我创建两个指针的值,这是**和那条路改变.谢谢:@JimB