如何在结构中创建一个数组以在循环中使用它?

How to make an array in struct to use it in a loop?

我在一个 CSV 文件中有 34 个产品,我想在一个 HTML 文件中使用它们中的每一个。为此,我需要一个数组键,以便我可以一个一个地使用 HTML 文件中的值。

问题

代码

type List struct {
    ProductsList string
}

func Home(w http.ResponseWriter, r *http.Request) {
    var user List
    for i := 0; i < 34; i++ {
        user = List{
            ProductsList: products.AccessData(i),
        }
    }
    HomeTmpl.Execute(w, user)
}

我们可以通过像这样 []string 声明它来使 ProductsList 成为一个切片(奇特的数组)。然后我们可以使用 append 函数将元素添加到切片的末尾。这将创建一个切片,其中切片的索引匹配 i.

type List struct {
    ProductsList []string
}

func Home(w http.ResponseWriter, r *http.Request) {
    var user List
    for i := 0; i < 34; i++ {
        user.ProductsList = append(user.ProductsList, products.AccessData(i))
    }
    HomeTmpl.Execute(w, user)
}

试试这个。

我将 ProductList 属性更改为切片字符串

type List struct {
    ProductsList []string
}

func Home(w http.ResponseWriter, r *http.Request) {
    
    AllData := []string{}

    for i := 0; i < 34; i++ {
        AllData = append(AllData, products.AccessData(i))
    }

    user := List{ ProductsList: AllData }
    // user.ProducList = ["yourdata","hello","example","and more"]

    HomeTmpl.Execute(w, user)
}