Wie überprüfe ich, ob ein „sql.Null[Type]'-Feld in Go-Vorlagen gültig ist?

Linda Hamilton
Freigeben: 2024-10-28 02:36:31
Original
414 Leute haben es durchsucht

How to Check if a `sql.Null[Type]` Field is Valid in Go Templates?

Gültige Felder in Go-Vorlagen testen

Im Datenbank-/SQL-Paket von Go helfen Null[Type]-Strukturen bei der Zuordnung von Datenbankwerten zu potenziellen Nullen in Code umwandeln. Es kann eine Herausforderung sein, festzustellen, ob ein Strukturfeld null ist, d. h. seine Valid-Eigenschaft falsch ist.

Um ein SQL-Feld anzuzeigen, verwenden Sie die .Value-Eigenschaft:

<code class="go">{{ .MyStruct.MyField.Value }}</code>
Nach dem Login kopieren

Wenn Sie mehr benötigen Bei komplexen Vergleichen wird es wichtig, die Gültigkeit des Feldes zu testen. Die alleinige Verwendung von if mit .Value führt zu Fehlern, wenn .MyField nicht gültig ist.

Versuche, die Existenz eines gültigen Felds mithilfe von und und oder Vorlagenfunktionen zu testen, sind ebenfalls erfolglos. Die Auswertung wird auch dann nicht vorzeitig beendet, wenn das Ergebnis aus dem ersten Argument klar hervorgeht.

Erwägen Sie stattdessen die Verwendung verschachtelter if-Blöcke:

<code class="go">{{if $.MyStruct.MyField}}
    {{if eq $.MyStruct.MyField.Value .}}selected="selected"{{end}}
{{end}}</code>
Nach dem Login kopieren

Alternativ kann der with-Block verwendet werden, aber Es ändert den aktuellen Vorlagenkontext:

<code class="go">{{range .SomeSlice}}
    {{with $.MyStruct.MyField}}
        {{if eq .Value .}}selected="selected"{{end}}
    {{end}}
{{/range}}</code>
Nach dem Login kopieren

Beachten Sie, dass sql.NullXX-Typen Nicht-Null-Strukturen sind. Um festzustellen, ob ihre Value-Methode einen Wert ungleich Null zurückgibt, überprüfen Sie ihr Feld „Gültig“:

<code class="go">{{if $.MyStruct.MyField.Valid}}
    {{if eq $.MyStruct.MyField.Value .}}selected="selected"{{end}}
{{end}}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob ein „sql.Null[Type]'-Feld in Go-Vorlagen gültig ist?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!