Заканчивать this sandboxНаследование структуры Golang не работает по назначению?
При объявлении структуру, которая наследуется от другой структуры:
type Base struct {
a string
b string
}
type Something struct {
Base
c string
}
Затем вызова функции, задающие значения для унаследованных значений дает ошибку компиляции:
f(Something{
a: "letter a",
c: "letter c",
})
Ошибка сообщение есть: unknown Something field 'a' in struct literal
.
Это кажется мне очень странным. Это действительно намеченная функциональность?
Спасибо за помощь!
Состав - это вездесущий термин в компьютерной науке, заслуживающий внимания, хотя фактическая функция Go, используемая здесь, является вложением. – evanmcdonnal
@evanmcdonnal Правда, но я намеренно использовал эту формулировку из-за https://en.wikipedia.org/wiki/Composition_over_inheritance –