首頁 > 後端開發 > Golang > 主體

透過反射器指標設定map1和map2的值

PHPz
發布: 2024-02-09 18:50:08
轉載
485 人瀏覽過

透過反射器指標設定map1和map2的值

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

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!