„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann man zwischen nicht festgelegten und null -Werten in Go richtig unterscheiden?

Wie kann man zwischen nicht festgelegten und null -Werten in Go richtig unterscheiden?

Gepostet am 2025-04-19
Durchsuche:655

How to Distinguish Properly Between Not Set vs. Empty Values in Go?

ordnungsgemäß zwischen nicht festgelegten vs. leeren Werten

Bei der Arbeit mit Strukturen in Go können es entscheidend sein, zwischen Werten zu unterscheiden, die nie festgelegt wurden, und denen, die einfach leer sind, wie leere Zeichenfolgen. Kategorie Zeichenfolge Codezeichenfolge Name Zeichenfolge }

zwischen Kategorien, die noch nie festgelegt wurden, und jenen, die leer sind, könnte ein Ansatz darin bestehen, Zeiger auf Zeichenfolgen zu verwenden:

type Organisation struct {
    Category string
    Code     string
    Name     string
}

ist jedoch der Nullwert für eine Zeichenfolge in GO eine leere Zeichenfolge, was bedeutet, dass es nicht möglich ist, zwischen den beiden Fällen zu unterscheiden.

type Organisation struct {
    Category *string
    Code     *string
    Name     *string
}

Typ nullstring struct { Zeichenfolge Gültig bool // gültig ist wahr, wenn String nicht null ist }

Durch Scannen in diesen Typ und Verwendung als Abfrageparameter verwaltet das Datenbank/SQL -Paket den Nullstatus für Sie und unterscheidet effektiv zwischen nicht festgelegten und leeren Werten.

Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729738861 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3