亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在golang模板中迭代一系列數字?

如何在golang模板中迭代一系列數字?

Go
海綿寶寶撒 2023-07-17 16:44:13
我想做這樣的事情:  {{range $y := .minYear    .maxYear}}                                                                                                       <option value="y"> {{$y}}</option>                                                                                                   {{end}}但模板未按預期呈現。我怎樣才能解決這個問題?
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

模板包不直接支持這一點。創建一個返回整數值切片的模板函數:


var funcs = template.FuncMap{

    "intRange": func(start, end int) []int {

        n := end - start + 1

        result := make([]int, n)

        for i := 0; i < n; i++ {

            result[i] = start + i

        }

        return result

    },

}

像這樣使用它:


t := template.Must(template.New("").Funcs(funcs).Parse(`{{range $y := intRange .minYear .maxYear}}

   <option value="y"> {{$y}}</option>{{end}}`))


err := t.Execute(os.Stdout, map[string]int{"minYear": 1961, "maxYear": 1981})

if err != nil {

    // handle error

}

在 Go 游樂場上運行它。



查看完整回答
反對 回復 2023-07-17
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

您可以在模板中使用 sprig 庫:

https://github.com/Masterminds/sprig


查看完整回答
反對 回復 2023-07-17
  • 2 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號