Вложенные структуры в Go
В языке программирования Go поля одних структур способны представлять другие структуры. Рассмотрим, как это выглядит:
В нашем примере структура person имеет поле contactInfo, а это поле, в свою очередь, представляет другую структуру contact.
Однако у нас есть возможность сократить определение. Делается это так:
Поле contact, находящееся в структуре person, по сути, эквивалентно свойству contact contact, то есть можно сказать, что свойство называется contact, плюс представляет тип contact. Это дает нам возможность сократить путь к полям вложенной структуры. К примеру, никто не мешает написать tom.email, вместо tom.contact.email.
По материалам https://metanit.com/go/tutorial.