Вложенные структуры в Go

В языке программирования Go поля одних структур способны представлять другие структуры. Рассмотрим, как это выглядит:

В нашем примере структура person имеет поле contactInfo, а это поле, в свою очередь, представляет другую структуру contact.

Однако у нас есть возможность сократить определение. Делается это так:

Поле contact, находящееся в структуре person, по сути, эквивалентно свойству contact contact, то есть можно сказать, что свойство называется contact, плюс представляет тип contact. Это дает нам возможность сократить путь к полям вложенной структуры. К примеру, никто не мешает написать tom.email, вместо tom.contact.email.

По материалам https://metanit.com/go/tutorial.