Heim  >  Artikel  >  Backend-Entwicklung  >  Legen Sie die Werte von Karte1 und Karte2 über Reflektorzeiger fest

Legen Sie die Werte von Karte1 und Karte2 über Reflektorzeiger fest

PHPz
PHPznach vorne
2024-02-09 18:50:08485Durchsuche

Legen Sie die Werte von Karte1 und Karte2 über Reflektorzeiger fest

Der PHP-Editor Youzi ist hier, um Ihnen eine Methode zur Verwendung von Reflektorzeigern zum Festlegen der Werte von Karte1 und Karte2 vorzustellen. Über den Reflektorzeiger können wir einfach auf die Eigenschaften und Methoden des Objekts zugreifen und diese ändern, um die Werte von Karte1 und Karte2 dynamisch festzulegen. Dieser Ansatz ist nicht nur einfach und leicht zu verstehen, sondern bietet auch die Flexibilität, die Werte von Karte1 und Karte2 jederzeit nach Bedarf zu ändern. Werfen wir einen Blick auf die einzelnen Schritte unten!

Frageninhalt

Testen meines Beispielcodes: https://go.dev/play/p/g7lxjdnjnan

Endergebnis:

&{0}
&{1}

Wie erhalte ich die Ausgabe des Beispielterminals

&{1}
&{1}

Mein Code im Projekt:

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)
}

Ich bin hier, weil ich nicht einmal weiß, wie ich das recherchieren soll.

Es gibt Änderungen A und B. Die Person, die mir bei der Verwendung der Einstellungsfunktion geholfen hat, hat mir einen Code geschickt. Ich hoffe, du schickst es auch. Aus irgendeinem Grund hat es funktioniert, aber jetzt funktioniert es nicht mehr.

Ich kann keine Karte zuordnen, Aufgrund der Art und Weise, wie diese Funktion erstellt wird, weiß ich nicht einmal, ob der Wert aus einem Array stammt (ob es sich um eine Variable oder eine Kartenbezeichnung handelt)

Die Funktion „Einstellungen“ ist für verschiedene Typen verfügbar https://go.dev/play/p/tggxpxf5kx9

Eine Möglichkeit, die sicher funktionieren würde, wäre, einen Zeiger zu erstellen, keinen Kartenzeiger. Ein Zeiger auf 2 zugeordnete Werte

Die Funktion „Setzen“ basiert auf dem Setzen eines Zeigers auf einen anderen Zeiger. Ich glaube, der Fehler lag darin, dass ich auf den falschen Zeiger gezeigt habe

Umgehung

Ich habe mir vorgestellt, dass ich beim Erstellen des Werts zwei Zeiger auf den Wert erstellt habe, d. h. ** Und auf diese Weise verändern. Danke: @JimB

Das obige ist der detaillierte Inhalt vonLegen Sie die Werte von Karte1 und Karte2 über Reflektorzeiger fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen