템플릿 조건에서 Nil 값 허용
Go 템플릿으로 작업할 때 객체가 다음과 같은 경우 기본 콘텐츠를 표시하려는 시나리오가 발생할 수 있습니다. nil이지만 특정 속성이 설정된 경우 다른 내용을 표시합니다. 익명 구조체를 사용하는 것이 가능하지만 이로 인해 불필요한 상용구가 도입될 수 있습니다.
다용도 솔루션
이 문제를 우아하게 해결하려면 다음 접근 방식을 고려하세요.
템플릿 코드
{{if not .}} // default content {{else if eq .MetaValue "some-x"}} // some-x case {{else}} // other case {{end}}
설명
이 템플릿 코드는 다음 표현식을 순서대로 평가합니다.
eq 대신 not 연산자를 사용합니다. nil인 경우 이 접근 방식은 객체가 nil이거나 비어 있거나 nil 이외의 값을 갖는 상황을 포함하여 가능한 모든 시나리오를 처리합니다. 이렇게 하면 명시적인 nil 검사나 불필요한 익명 구조체의 도입이 필요 없어 템플릿이 깨끗하고 간결하게 유지됩니다.
위 내용은 Go 템플릿의 Nil 개체 및 속성 값을 기반으로 다양한 콘텐츠를 표시하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!