Go HTML 템플릿에서 조건부 렌더링 처리
Go에서 HTML 템플릿을 렌더링할 때 특정 조건에 따라 콘텐츠를 다르게 표시해야 하는 경우가 많습니다. 일반적인 접근 방식 중 하나는 중첩된 if/elseif/else 구문을 사용하는 것입니다. 그러나 조건이 많은 경우 코드가 복잡해질 수 있습니다.
다음 Go 구조체를 고려하세요.
const ( paragraph_hypothesis = 1<<iota paragraph_attachment = 1<<iota paragraph_menu = 1<<iota ) type Paragraph struct { Type int // paragraph_hypothesis or paragraph_attachment or paragraph_menu }
다음에 따라 단락을 표시하려는 경우 그들의 유형. 다음과 같이 중첩된 if 문을 사용할 수 있지만,
{{range .Paragraphs}} {{if .IsAttachment}} -- attachment presentation code -- {{else}}{{if .IsMenu}} -- menu -- {{else}} -- default code -- {{end}}{{end}} {{end}}
이 접근 방식은 유형이 많아지면 다루기가 어려워져 Go 코드(IsSomething과 같은 함수 포함)와 템플릿 코드(중첩 {{end} 포함)가 모두 복잡해집니다. } 문).
다행히도 Go 템플릿에는 더 깔끔한 솔루션이 있습니다. 바로 else if 구문입니다. 이를 사용하면 다음과 같이 위 템플릿을 단순화할 수 있습니다.
{{range .Paragraphs}} {{if .IsAttachment}} -- attachment presentation code -- {{else if .IsMenu}} -- menu -- {{else}} -- default code -- {{end}} {{end}}
else if를 사용하면 여러 개의 중첩된 if 문이 필요하지 않으므로 템플릿 코드가 더 간결하고 따르기 쉬워집니다.
위 내용은 Else If를 사용하여 Go HTML 템플릿에서 조건부 렌더링을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!