Объявление и использование карты в структурах
Я такой новичок в голанге и начал его всего несколько дней назад.
На самом деле я пытаюсь сделать простое упражнение, чтобы привыкнуть к синтаксису golang.
У меня это в main.go:
package main
import(
"fmt"
// "stringa"
"main/survey"
)
func main() {
var questions = []survey.Question{
{
Label: "Questão 1",
Instructions : "Instrução",
Options : {
1 : "Op1",
2 : "Op2",
},
Answer: {
1 : "Op1",
},
},
}
fmt.Println(questions[0].Label)
}
И я стараюсь делать простые конструкции, но знаю. эта проблема будет решена, если я использую интерфейс, но если на следующих шагах мне понадобится использовать карты в структуре...
PS: это образец структуры, которую я использовал:
package survey
import(
// "fmt"
// "strings"
// "strconv"
)
// This is a simple Question in a survey code
type Question struct {
// This is a label for the quetsion
Label string
// This is a instructions and is not required
Instructions string
// this is a multiple options answer
Options map[int]string
// this is a answer correct response
Answer map[int]string
}
Наконец вопрос:
Как я могу использовать карту в параметрах внутри структуры и записать это в объявлении?
1 ответ
Тип (map[int]string
) должен использоваться в составном литеральном выражении для значения поля структуры:
var questions = []survey.Question{
{
Label: "Questão 1",
Instructions: "Instrução",
Options: map[int]string{
1: "Op1",
2: "Op2",
},
Answer: map[int]string{
1: "Op1",
},
},
}
Тип в составном литеральном выражении может быть исключен только в элементах среза (как и в случае с элементами []survey.Question
), ключи карты и значения карты.