Что представляет собой пакет `builtin` в Go и какие сущности он содержит?

Ответ

Пакет builtin — это специальный, псевдо-пакет, который не нужно импортировать. Его содержимое доступно в любом файле Go по умолчанию, так как оно находится во всеобщей области видимости (universe block).

Он содержит фундаментальные, предопределенные идентификаторы языка:

  • Типы: int, int8, string, bool, float64, error и другие.
  • Константы: true, false, nil и iota.
  • Функции: make, new, len, cap, append, copy, delete, panic, recover, print, println.

Ключевая особенность:
Поскольку builtin является частью языка, вы не можете (и не должны) импортировать его с помощью import "builtin". Все его элементы — это базовые строительные блоки, которые всегда под рукой.

// Все эти элементы из пакета builtin
var s string = "hello"
size := len(s)
slice := make([]int, 0, 10)
if size > 0 {
    println(true) // true - тоже из builtin
}