Go의 데이터베이스/sql 패키지에서 Null 유형은 Null 허용 데이터베이스 값을 나타내는 메커니즘을 제공합니다. 템플릿 표현식에서는 구조체 내의 필드가 null(Valid는 false)인지 확인하는 것이 어려울 수 있습니다.
SQL 필드의 값을 인쇄하려면 .Value 속성이 일반적으로 사용됩니다. 그러나 필드 값을 다른 값과 비교할 때 필드가 null이면 문제가 발생할 수 있습니다. nil에 대한 직접 테스트(예: $.MyStruct.MyField == nil인 경우)는 필드가 nil이 아니라 비어 있는 Null 구조체이므로 작동하지 않습니다.
Go 템플릿의 and 함수는 모든 인수를 평가합니다. 결과가 이미 결정된 경우. 따라서 {{ if and ($.MyStruct.MyField) (eq $.MyStruct.MyField.Value .) }}를 사용하면 $.MyStruct.MyField가 null인 경우 오류가 발생합니다.
대신 중첩을 사용하세요. 표현식을 선택적으로 평가하는 {{ 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!