Heim > Backend-Entwicklung > Golang > Wie kann ich feststellen, ob eine Struktureigenschaft in Go festgelegt wurde?

Wie kann ich feststellen, ob eine Struktureigenschaft in Go festgelegt wurde?

Mary-Kate Olsen
Freigeben: 2024-12-10 19:40:17
Original
816 Leute haben es durchsucht

How Can I Detect if a Struct Property Has Been Set in Go?

Geänderte Eigenschaften in Strukturen erkennen

In Go kann es schwierig sein, festzustellen, ob eine Eigenschaft einer Struktur festgelegt wurde. Im Gegensatz zu anderen Sprachen gibt es keinen integrierten Mechanismus zur Prüfung auf nicht initialisierte Werte in Strukturen.

Verwendung von Zeigern (Vorschlag von dyoo)

Wie von dyoo erwähnt, Verwendung von Zeigern Für Struktureigenschaften können Sie zwischen gesetzten und nicht gesetzten Werten unterscheiden. Wenn der Zeiger Null ist, gilt der Wert als nicht gesetzt.

Beispiel mit Zeigern:

type MyStruct struct {
    Property *string
}

// ...

if s1.Property != nil {
    // do something with this
}
Nach dem Login kopieren

Verwendung leerer Zeichenfolgen (Antwort des Betreuers)

Wenn Sie lieber Strings anstelle von Zeigern verwenden möchten, können Sie den Wert mit einem leeren String vergleichen Stellen Sie fest, ob es festgelegt wurde.

Beispiel mit Zeichenfolgen:

type MyStruct struct {
    Property string
}

// ...

if s1.Property != "" {
    // do something with this
}
Nach dem Login kopieren

Im bereitgestellten Codebeispiel hat s1.Property einen nicht leeren Wert und wird es sein gilt als gesetzt, während s2.Property leer ist und als nicht gesetzt betrachtet wird.

Alternative Methoden

Zusätzlich zu den genannten Ansätzen können Sie andere Optionen erkunden, z. B. die Verwendung von Reflektion oder die Definition eigener Setter-Funktionen, die Änderungen im Wert der Immobilie verfolgen. Diese Methoden erfordern jedoch möglicherweise zusätzlichen Code und Komplexität.

Das obige ist der detaillierte Inhalt vonWie kann ich feststellen, ob eine Struktureigenschaft in Go festgelegt wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage