Задать вопрос
@to_east

Инициализация встраиваемой структуры?

Всем привет!
Сразу код приведу, потом разбор:
package main

import "fmt"

type Parent struct {
    foo int
}

type Child struct {
    Parent
    bar int
}

func main() {
    var parent = &Parent{ foo: 12 }
    var child = &Child{ parent, bar: 111 }
    child.Parent.foo++
    fmt.Println(parent.foo) // parent.foo should be 13
}

Как правильно инициализировать структуру Child, но что бы еще и иметь возможность
изменять поле foo объекта parent через child.
Выше изложенный код выводит ошибку инициализации:
C:\Windows\system32\cmd.exe /c (go run test1.go ^& pause)
# command-line-arguments
.\test1.go:18: mixture of field:value and value initializers
Для продолжения нажмите любую клавишу . . .
  • Вопрос задан
  • 265 просмотров
Подписаться 2 2 комментария
Подписчики вопроса 2 К ответам на вопрос (1)