В Go нет наследования вообще — вместо него используется композиция. Ты встраиваешь один тип в другой через embedding, и внешний тип получает все методы внутреннего. Например, встраиваешь Logger в Server — и Server может вызывать Log() напрямую. Это проще и гибче, чем иерархии наследования, потому что нет проблемы хрупкого базового класса. Go осознанно заставляет тебя строить поведение из маленьких кирпичиков, а не тянуть длинные цепочки extends.
Что такое composition over inheritance?
Middle
535 просмотровAFK Offer AI
Что такое flame graph?