Heim >Backend-Entwicklung >Golang >Wie kann man in Go richtig zwischen nicht festgelegten und leeren Werten unterscheiden?
Bei der Arbeit mit Strukturen in Go kann es entscheidend sein, zwischen Werten zu unterscheiden, die noch nie festgelegt wurden, und solchen, die noch nicht festgelegt wurden sind einfach leer, wie z. B. leere Zeichenfolgen.
Bedenken Sie die folgende Struktur:
<code class="go">type Organisation struct { Category string Code string Name string }</code>
Um zwischen Kategorien zu unterscheiden, die noch nie festgelegt wurden, und solchen, die leer sind, könnte ein Ansatz darin bestehen, zu verwenden Zeiger auf Strings:
<code class="go">type Organisation struct { Category *string Code *string Name *string }</code>
Der Nullwert für einen String in Go ist jedoch ein leerer String, was bedeutet, dass es nicht möglich ist, zwischen den beiden Fällen zu unterscheiden.
Beim Umgang mit Datenbanken Es ist wichtig, zwischen NULL- und Leerzeichenfolgen zu unterscheiden. Zu diesem Zweck bietet das Datenbank-/SQL-Paket den Typ sql.NullString an:
<code class="go">type NullString struct { String string Valid bool // Valid is true if String is not NULL }</code>
Durch das Scannen in diesen Typ und die Verwendung als Abfrageparameter verwaltet das Datenbank-/SQL-Paket den NULL-Status für Sie. effektive Unterscheidung zwischen nicht gesetzten und leeren Werten.
Das obige ist der detaillierte Inhalt vonWie kann man in Go richtig zwischen nicht festgelegten und leeren Werten unterscheiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!