Смесь полей: значения и инициализаторы стоимости
Почему я не могу создать следующее с анонимным полем?
type T1 struct {
T1_Text string
}
type T2 struct {
T2_Text string
T1
}
используется в func..
t := T2{
T2_Text: "Test",
T1{T1_Text: "Test"},
}
Дает мне: смесь полей: значения и инициализаторы значений?
Ответы
Ответ 1
Краткое объяснение.
Поводом для этого является то, что вам разрешено использовать только один из двух типов инициализаторов, а не оба.
то есть. вы можете использовать значение : значение или .
Используя ваш пример, вы либо выполняете
поле: значение
t := T2{
T2_Text: "Test",
T1: T1{T1_Text: "Test"},
}
или только значения
t := T2{
"Test",
T1{"Test"},
}
Надеюсь, что объясняет, почему
Ответ 2
Отсутствует имя атрибута T1
для назначения.
t := T2{
T2_Text: "Test",
T1: T1{T1_Text: "Test"},
}
P.S. Просто переместил комментарий @twwwwwo к ответу.