Go のデータベース/SQL パッケージでは、Null 型は、Null 許容データベース値を表すメカニズムを提供します。構造体のフィールドが null (Valid が false) かどうかをテンプレート式で判断するのは難しい場合があります。
SQL フィールドの値を出力するには、通常、.Value プロパティが使用されます。ただし、フィールドの値を別の値と比較する場合、フィールドが null の場合に問題が発生する可能性があります。 nil を直接テストする (例: $.MyStruct.MyField == nil) フィールドは nil ではなく空の Null 構造体であるため機能しません。
Go テンプレートの and 関数は、すべての引数を評価します。結果がすでに決まっている場合。したがって、$.MyStruct.MyField が null の場合、{{ if and ($.MyStruct.MyField) (eq $.MyStruct.MyField.Value .) }} を使用するとエラーが発生します。
代わりに、ネストされたものを使用してください。 {{ if }} ステートメントを使用して式を選択的に評価します:
{{ if $.MyStruct.MyField }} {{ if eq $.MyStruct.MyField.Value . }}selected="selected"{{ end }} {{ end }}
代わりに、{{ with }} ステートメントを使用しますが、ドットが設定されるため注意が必要です:
{{ with $.MyStruct.MyField }} {{ if eq .Value $e }}selected="selected"{{ end }} {{ end }}
上記の例では、NULL 値を許容できない値が想定されていることに注意してください。 Null タイプの場合は、有効フィールドを直接確認してください:
{{ if $.MyStruct.MyField.Valid }} {{ if eq $.MyStruct.MyField.Value . }}selected="selected"{{ end }} {{ end }}
以上がNull 型を含む Go テンプレートの有効なフィールドを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。