В Go существует четыре категории типов данных:
Базовые типы (Basic types) - предопределенные компилятором.
boolint, int8, int16, int32, int64, uint, uint8 (byte), uint16, uint32, uint64, uintptrfloat32, float64complex64, complex128stringСоставные типы (Aggregate types) - коллекции фиксированного размера.
[n]T (где n - размер, T - тип элементов)struct {} (коллекция именованных полей разного типа)Референсные типы (Reference types) - типы-ссылки, передаются по ссылке, хранят указатель на базовые данные.
[]T (динамический массив, построен на основе массива)map[K]V (коллекция пар ключ-значение)*T (хранят адрес переменной)chan T, chan<- T, <-chan T (для синхронизации и коммуникации горутин)func(...) (...) (типом является сигнатура функции)Интерфейсные типы (Interface types) - определяют набор сигнатур методов, реализуемых типами данных.
interface{} (пустой интерфейс), interface{ methodName(...) ... }Примеры:
go