Композиция - что это в программировании, проектировании

Композиция - способ получения функционала, путем прямого "присоединения" новых функций/полей.

В отличии от Наследования (которому композицию часто протипоставляют как "более гибкий" подход), для получения функционала тут не требуется объявляет иерархию между сущностями.

Примеры реализации

В ООП-языках нередко используют композицию как с помощью классов (когда один просто становится полем другого) так и напрямую напр. через трейты (примеси) в PHP.

В Golang-е же нет ООП, но есть композиция структур.