Skip to content

Концепция: базовые типы

В Go у каждого типа есть базовый тип. Правила:

  • Для примитивов соответствующие базовые типы существуют сами по себе.

  • Для Pointer типа, определенного в стандартном пакете unsafe, его базовым типом является он сам, по крайней мере, мы можем так думать. Фактически, базовый тип unsafe.Pointer плохо документирован. Мы также можем думать, что базовым типом является *T, где T представляет собой произвольный тип. unsafe.Pointer также рассматривается как встроенный тип.

  • Базовым типом безымянного типа, который должен быть составным типом, является он сам.

  • В объявлении алиасного типа исходный тип и сам алиас имеют один и тот же базовый тип.

Полную версию статьи ты можешь найти по ссылке.