视图模板中的Beego范围

视图模板中的Beego范围,go,range,beego,Go,Range,Beego,我有一个值为5的整数,我想对它进行循环,并在html中使用range或for循环填充一个下拉列表,如下所示。有人能帮我怎么做吗 <a class="dropdown-item" href="#">1</a> <a class="dropdown-item" href="#">2</a> <a class="dropdown-item" href="#">3</a> <a class="dropdown-item" hr

我有一个值为5的整数,我想对它进行循环,并在html中使用range或for循环填充一个下拉列表,如下所示。有人能帮我怎么做吗

<a class="dropdown-item" href="#">1</a>
<a class="dropdown-item" href="#">2</a>
<a class="dropdown-item" href="#">3</a>
<a class="dropdown-item" href="#">4</a>
<a class="dropdown-item" href="#">5</a>

您首先需要一些您可以覆盖的内容,如
数组
切片
映射
、或
频道

例如,在Go代码中创建一个int片段(
[]int
),并将其分配给模板数据

items := []int{1, 2, 3, 4, 5}
this.Data["items"] = items
现在,在模板中,您可以在
项上进行范围设置,如下所示:

{{range $val := .items}}
<a class="dropdown-item" href="#">{{$val}}</a>
{{end}}

上的可执行示例


请注意:由于Playway不支持导入第三方软件包,因此示例使用
html/template
软件包执行模板,而不是使用beego框架,但这是可以的,因为beego在引擎盖下使用
html/template
。另外,示例模板(
-}}
)中的连字符在下一个标记之前可以去掉空格,如果您不想使用,您不必使用它。

感谢您的回复,但在我的例子中,我有不同的数字范围,每种情况下,下拉列表都会不同。我怎样才能根据你可以使用的数字得到不同的数组,并创建任意长度的切片。或者实际上,如果您知道项目的数量,甚至不必使用appned,只需将切片初始化为正确的长度,然后使用索引设置切片元素值。@Ravindrandalapu我添加了一个如何创建数字序列的示例。@Ravindrandalapu我现在还添加了一个带有可执行示例的游乐场链接。
func numSequence(num int) []int {
    out := make([]int, num) // create slice of length equal to num

    for i := range out {
        out[i] = i + 1
    }
    return out
}

fmt.Println(numSequence(5))
// Output: [1, 2, 3, 4, 5]

fmt.Println(numSequence(7))
// Output: [1, 2, 3, 4, 5, 6, 7]