Циклическая структура внутри структуры - PullRequest
0 голосов
/ 06 мая 2018

Я пытаюсь сохранить данные формы в базе данных графа (dgraph), для которой мне нужно перебрать другую структуру внутри родительской структуры.

У меня есть пара структур с именами Tag и Question, и у меня есть массив с именем 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 не является выражением"

Мне нужна помощь для ввода слова "самый высокий" в значение структуры "Question".

1 Ответ

0 голосов
/ 06 мая 2018

Чтобы инициализировать переменную пустым срезом, вы хотите []Tag{}, а не []Tag. Вы также можете выбирать список слов, что немного проще, и тогда вам просто нужно создать свой тег из слова, например,

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

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

Полный пример на детской площадке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...