首頁 > 後端開發 > Golang > 主體

如何在 Go 模板範圍循環中存取外部參數?

Linda Hamilton
發布: 2024-11-09 15:42:02
原創
328 人瀏覽過

How to Access External Parameters in a Go Template Range Loop?

Go 範本在範圍循環中存取外部參數

考慮這樣一種情況,您有一個包含使用者名稱、密碼等欄位的User 結構體,電子郵件。在 Web 應用程式中,URL 結構可能包含需要在迭代使用者的範本中存取的語言參數 (en)。

在提供的範本中:

{{ range .users }}
  <form action="/{{ .lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
登入後複製

存取range 循環中的.lang 會導致以下錯誤:

「無法評估類型Y 中的欄位X(X不是Y 的一部分,而是陷入{{range}} 循環)」

要解決這個問題,需要從循環外部存取.lang參數。這可以透過使用 $ 變數來實現。在範圍呼叫之後,範圍變數(在本例中為.)的內容被指派給$。因此,模板可以修改如下:

{{ range .users }}
  <form action="/{{ $.lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
登入後複製

透過使用 $,模板可以成功存取 .lang 參數,儘管它不是 User 結構中的欄位。

以上是如何在 Go 模板範圍循環中存取外部參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板