> 백엔드 개발 > Golang > Go에서 객체 가용성을 기반으로 템플릿 콘텐츠를 동적으로 사용자 정의하는 방법은 무엇입니까?

Go에서 객체 가용성을 기반으로 템플릿 콘텐츠를 동적으로 사용자 정의하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-08 11:53:01
원래의
774명이 탐색했습니다.

How to Dynamically Customize Template Content Based on Object Availability in Go?

객체 가용성을 기반으로 템플릿 콘텐츠 사용자 정의

템플릿에서는 특정 속성이 설정되지 않은 한 기본 메타 태그를 표시하는 것을 목표로 합니다. 어떤 경우에는 다른 텍스트가 표시되어야 합니다. 익명 구조체를 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿