객체 가용성을 기반으로 템플릿 콘텐츠 사용자 정의
템플릿에서는 특정 속성이 설정되지 않은 한 기본 메타 태그를 표시하는 것을 목표로 합니다. 어떤 경우에는 다른 텍스트가 표시되어야 합니다. 익명 구조체를 사용하여 90%의 핸들러에 대한 속성 값을 설정하는 것이 가능하지만 불필요한 복잡성을 초래합니다.
원하는 기능을 달성하려면 Go 템플릿에 내장된 not 및 빈 함수를 사용할 수 있습니다. 방법은 다음과 같습니다.
{{if not .}} <!-- Output for nil or empty values, including false, 0, and any array, slice, map, or string of length zero --> {{else if eq .MetaValue "some-x"}} <!-- Output for "some-x" property value --> {{else}} <!-- Output for non-empty values other than "some-x" --> {{end}}
이 코드는 먼저 .MetaValue가 nil인지 비어 있는지 확인합니다. 그렇다면 첫 번째 섹션이 실행됩니다. MetaValue가 nil이 아니거나 비어 있지 않으면 두 번째 섹션에서는 "some-x"와 같은지 확인합니다. 그렇다면 두 번째 섹션이 실행됩니다. 그렇지 않으면 세 번째 섹션이 실행됩니다.
이 접근 방식을 사용하면 현재 nil을 전달하는 핸들러에 상용구 코드를 추가하지 않고도 속성의 존재 여부나 값에 따라 템플릿에 표시되는 콘텐츠를 동적으로 제어할 수 있습니다.
위 내용은 Go에서 객체 가용성을 기반으로 템플릿 콘텐츠를 동적으로 사용자 정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!