Web 開発のコンテキストでは、反復すると便利です。 HTML コンテンツを指定された回数だけ送信します。たとえば、ページネーション リンクを作成したり、動的リストを生成したりする場合です。 Go では、HTML テンプレートを通じてこれを実現する方法がいくつか提供されています。
Go テンプレートには、{{range}} アクションが用意されています。これにより、スライス、配列、またはマップの反復処理が可能になります。これを HTML コンテンツの繰り返しに使用するには、目的の繰り返しを表す項目のコレクションを提供する必要があります。
1 つのアプローチ空のスライスを渡すことです。 Go は実行時に要素のないスライスを作成します。この例では、構造体のゼロ値スライスを渡すことができます: make([]struct{}, n)。
<ul> <li><a href="/?page=1">1</a></li> <li><a href="/?page=2">2</a></li> . . . <li><a href="/?page=n">n</a></li> </ul>
{{range}} アクションを使用して、ゼロ値のスライスを反復処理し、リンクに増加する値を入力し、HTML を生成できます。
const templ = ` <ul> {{range $idx, $e := .}} <li><a href="/?page={{$idx}}">{{idx}}</a></li> {{end}} </ul>`
values := make([]int, n) for i := range values { values[i] = (i + 1) * 2 }
const templ = ` <ul> {{range .}} <li><a href="/?page={{.}}">{{}}</a></li> {{end}} </ul>`
func Add(i int) int { return i + 1 } tmpl := template.Must(template.New("").Funcs(template.FuncMap{ "Add": Add, }).Parse(templ))
const templ = ` <ul> {{range $idx, $e := .}}{{$idx := Add $idx}} <li><a href="/?page={{$idx}}">{{idx}}</a></li> {{end}} </ul>`
以上がGo Web アプリケーションで HTML 行を N 回繰り返す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。