Композитные типы, составные типы (Composite types)
Из главы ты узнаешь:
-
что такое пользовательские типы и какими они бывают;
-
как объявлять алиасные типы;
-
что такое структура, композиция, а также как структура встраивается.
Композитные или составные типы — это такие типы, как массив, срез, карты и структуры. Эти типы скрывают в себе внутренний базовый тип, на котором они основаны. Эти типы также называют контейнерными типами.
Go поддерживает следующие составные типы:
-
Типы указателей — указатели похожи на smart pointers C++.
-
Типы структур — похожи на структуры C/C++.
-
Типы функций — функции являются первоклассными типами в Go.
-
Типы контейнеров:
-
Типы массивов — типы контейнеров фиксированной длины.
-
Тип слайса — типы контейнеров с динамической длиной и динамической емкостью.
-
Типы карт — карты представляют собой ассоциативные массивы или словари. Стандартный компилятор Go реализует карты в виде хеш-таблиц.
-
Типы каналов — каналы используются для синхронизации данных между горутинами (зеленые потоки в Go).
-
Типы интерфейсов — интерфейсы играют ключевую роль в отражении и полиморфизме.
-
Безымянные составные типы могут быть обозначены соответствующими литералами типов. Ниже приведены некоторые примеры буквального представления всех видов безымянных составных типов.
Сравнимые и несравнимые типы мы рассмотрим далее.
Подробнее о композитных и составных типах ты можешь узнать по ссылке.