根據物件可用性自訂範本內容
在範本中,您的目標是顯示預設元標記,除非設定了特定屬性,在這種情況下應該顯示不同的文字。雖然使用匿名結構體為 90% 的處理程序設定屬性值是可行的,但它引入了不必要的複雜性。
為了實現您想要的功能,您可以使用 Go 模板中內建的 not 和empty 函數。操作方法如下:
{{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 是否為零或為空。如果是,則將執行第一部分。如果 MetaValue 不為零或為空,第二部分將檢查它是否等於「some-x」。如果是,則將執行第二部分。否則,將執行第三部分。
使用此方法,您可以避免在目前傳遞 nil 的處理程序中新增樣板程式碼,並且仍然根據屬性的存在或值動態控制範本中顯示的內容。
以上是Go中如何根據物件可用性動態自訂模板內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!