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中文網其他相關文章!