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>
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>
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>
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>
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!