Композиция
Поля одних структур могут представлять другие структуры, пример показан на скриншоте.
Самое время протестировать код!
В этом случае структура person имеет поле contactInfo, которое представляет другую структуру contact.
Можно сократить определение поля следующим образом:
Самое время протестировать код!
Поле contact в структуре person фактически эквивалентно свойству contact contact, то есть свойство называется contact и представляет тип contact. Это позволяет нам сократить путь к полям вложенной структуры. Например, мы можем написать tom.email, а не tom.contact.email, хотя можно использовать и второй вариант.
С полной версией статьи ты можешь ознакомиться по ссылке.