Go 템플릿에서 유효한 필드 테스트
Go의 데이터베이스/sql 패키지에서 Null[Type] 구조체는 잠재적인 null이 있는 데이터베이스 값을 매핑하는 데 도움을 줍니다. 코드로. 구조체 필드가 null인지, 즉 Valid 속성이 false인지 확인하는 것이 어려울 수 있습니다.
SQL 필드를 표시하려면 .Value 속성을 사용하세요.
<code class="go">{{ .MyStruct.MyField.Value }}</code>
더 많은 정보가 필요한 경우 복잡한 비교에서는 필드의 유효성을 테스트하는 것이 중요해집니다. .Value와 함께 if를 단독으로 사용하면 .MyField가 유효하지 않은 경우 오류가 발생합니다.
and 및/또는 템플릿 함수를 사용하여 유효한 필드의 존재를 테스트하려는 시도도 실패합니다. 첫 번째 인수에서 결과가 명확하더라도 평가가 조기에 종료되지 않습니다.
대신 중첩된 if 블록 사용을 고려하세요.
<code class="go">{{if $.MyStruct.MyField}} {{if eq $.MyStruct.MyField.Value .}}selected="selected"{{end}} {{end}}</code>
또는 with 블록을 사용할 수도 있지만, 현재 템플릿 컨텍스트를 수정합니다.
<code class="go">{{range .SomeSlice}} {{with $.MyStruct.MyField}} {{if eq .Value .}}selected="selected"{{end}} {{end}} {{/range}}</code>
sql.NullXX 유형은 nil이 아닌 구조체입니다. Value 메소드가 nil이 아닌 값을 반환하는지 확인하려면 유효한 필드를 확인하세요:
<code class="go">{{if $.MyStruct.MyField.Valid}} {{if eq $.MyStruct.MyField.Value .}}selected="selected"{{end}} {{end}}</code>
위 내용은 Go 템플릿에서 `sql.Null[Type]` 필드가 유효한지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!