在struct中循环struct

时间:2018-05-06 00:42:41

标签: go struct

我正在尝试将表格数据保存在图形数据库(dgraph)中,我需要在父数据库中迭代另一个结构。

我有几个名为TagQuestion的结构,我有名为words的数组。

我必须用Question数组填充words结构作为数组Tag struct

这就是我想要做的事情:

type Tag struct {
    Name string
    Count string
}

type Question struct {
    Title string
    Tags []Tag
}

words := []string{"one", "two", "three", "four"}

tagsList := []Tag
for i=0;i<len(words);i++ {
    tagsList = append(tagsList, words[i])
}

q := Question {
    Title: "Kickstart Business with Corporate Leadership",
    Tags: tagsList,
}

我收到错误:“type [] Tag不是表达式”

我需要帮助将“最高”放在“问题”结构值中。

1 个答案:

答案 0 :(得分:2)

要将变量初始化为空切片,您需要[]Tag{},而不是[]Tag。您还可以在单​​词列表上查找更简单的单词,然后您只需要从单词构建标记,例如

words := []string{"one", "two", "three", "four"}

tagsList := []Tag{}
for _, word := range words {
    tagsList = append(tagsList, Tag{Name: word})
}

完整example on playground