Пакет builtin
Обзор
Пакет builtin предоставляет документацию для предопределённых идентификаторов Go. Элементы, документированные здесь, фактически не находятся в пакете builtin, но их описания здесь позволяют godoc представить документацию для специальных идентификаторов языка.
Индекс
Файлы пакета
builtin.go
Константы
true и false — два значения булевых переменных без типа.
const (
true = 0 == 0 // Untyped bool.
false = 0 != 0 // Untyped bool.
) iota — предопределённый идентификатор, представляющий порядковый номер без типа текущей спецификации const в (обычно скобочном) объявлении const. Он нулевой индексированный.
const iota = 0 // Untyped int.
Переменные
nil — предопределённый идентификатор, представляющий нулевое значение для указателя, канала, функции, интерфейса, карты или среза.
var nil Type // Type must be a pointer, channel, func, interface, map, or slice type
func append
func append(slice []Type, elems ...Type) []Type
Встроенная функция append добавляет элементы в конец среза. Если у него достаточная ёмкость, назначение пересчитывается, чтобы вместить новые элементы. Если нет, будет выделена новая основная массив. Append возвращает обновлённый срез. Поэтому необходимо хранить результат append, часто в переменной, содержащей сам срез:
slice = append(slice, elem1, elem2) slice = append(slice, anotherSlice...)
В качестве специального случая, допустимо добавить строку в срез байтов, так:
slice = append([]byte("hello "), "world"...)
func cap
func cap(v Type) int
Встроенная функция cap возвращает ёмкость v в соответствии с его типом:
Array: the number of elements in v (same as len(v)). Pointer to array: the number of elements in *v (same as len(v)). Slice: the maximum length the slice can reach when resliced; if v is nil, cap(v) is zero. Channel: the channel buffer capacity, in units of elements; if v is nil, cap(v) is zero.
Для некоторых аргументов, таких как простое выражение массива, результат может быть константой. См. раздел «Длина и ёмкость» спецификации языка Go для получения подробностей.
func clear
func clear[T ~[]Type | ~map[Type]Type1](t T)
Встроенная функция clear очищает карты и срезы. Для карт clear удаляет все записи, что приводит к пустой карте. Для срезов clear устанавливает все элементы до длины среза в нулевое значение соответствующего типу элемента. Если тип аргумента является параметром типа, набор типа параметра должен содержать только типы карты или среза, и clear выполняет операцию, подразумеваемую типом аргумента.
func close
func close(c chan<- Type)
Встроенная функция close закрывает канал, который должен быть либо двусторонним, либо только для отправки. Он должен выполняться только отправителем, а никогда получателем, и имеет эффект закрытия канала после получения последнего отправленного значения. После того, как последнее значение было получено из закрытого канала c, любое получение из c будет успешным без блокировки, возвращая нулевое значение для элемента канала. Форма
x, ok := <-c
также установит ok в false для закрытого и пустого канала.
func complex
func complex(r, i FloatType) ComplexType
Встроенная функция complex создаёт комплексное значение из двух числовых значений с плавающей точкой. Действительная и мнимая части должны быть одинакового размера, либо float32, либо float64 (или приводимые к ним), и возвращаемое значение будет соответствующим типом комплексных чисел (complex64 для float32, complex128 для float64).
func copy
func copy(dst, src []Type) int
Встроенная функция copy копирует элементы из исходного среза в целевой срез. (В качестве специального случая она также копирует байты из строки в срез байтов.) Исходный и целевой срезы могут перекрываться. Copy возвращает количество скопированных элементов, что будет минимальным из len(src) и len(dst).
func delete
func delete(m map[Type]Type1, key Type)
Встроенная функция delete удаляет элемент с указанным ключом (m[ключ]) из карты. Если m равно nil или такого элемента нет, delete не выполняет никаких действий.
func imag
func imag(c ComplexType) FloatType
Встроенная функция imag возвращает мнимую часть комплексного числа c. Возвращаемое значение будет типом с плавающей точкой, соответствующим типу c.
func len
func len(v Type) int
Встроенная функция len возвращает длину v в соответствии с его типом:
Array: the number of elements in v.
Pointer to array: the number of elements in *v (even if v is nil).
Slice, or map: the number of elements in v; if v is nil, len(v) is zero.
String: the number of bytes in v.
Channel: the number of elements queued (unread) in the channel buffer;
if v is nil, len(v) is zero.
Для некоторых аргументов, таких как строковая константа или простое выражение массива, результат может быть константой. См. раздел «Длина и ёмкость» спецификации языка Go для получения подробностей.
func make
func make(t Type, size ...IntegerType) Type
Встроенная функция make выделяет и инициализирует объект типа срез, карта или канал (только). Подобно new, первый аргумент — тип, а не значение. В отличие от new, возвращаемый тип make совпадает с типом его аргумента, а не указателем на него. Определение результата зависит от типа:
Slice: The size specifies the length. The capacity of the slice is equal to its length. A second integer argument may be provided to specify a different capacity; it must be no smaller than the length. For example, make([]int, 0, 10) allocates an underlying array of size 10 and returns a slice of length 0 and capacity 10 that is backed by this underlying array. Map: An empty map is allocated with enough space to hold the specified number of elements. The size may be omitted, in which case a small starting size is allocated. Channel: The channel's buffer is initialized with the specified buffer capacity. If zero, or the size is omitted, the channel is unbuffered.
func max
func max[T cmp.Ordered](x T, y ...T) T
Встроенная функция max возвращает наибольшее значение из фиксированного числа аргументов типов cmp.Ordered. Должно быть по крайней мере один аргумент. Если T — тип с плавающей точкой, и любой из аргументов — NaN, max вернёт NaN.
func min
func min[T cmp.Ordered](x T, y ...T) T
Встроенная функция min возвращает наименьшее значение из фиксированного числа аргументов типов cmp.Ordered. Должно быть по крайней мере один аргумент. Если T — тип с плавающей точкой, и любой из аргументов — NaN, min вернёт NaN.
func new
func new(Type) *Type
Встроенная функция new выделяет память. Первый аргумент — тип, а не значение, и возвращаемое значение — указатель на недавно выделенное нулевое значение этого типа.
func panic
func panic(v any)
Встроенная функция panic останавливает нормальное выполнение текущей горутины. Когда функция F вызывает panic, нормальное выполнение F останавливается немедленно. Любые функции, отложенные выполнение которых было инициировано F, выполняются обычным способом, а затем F возвращается к своему вызывающему. Для вызывающей стороны G вызов F затем ведёт себя как вызов panic, завершая выполнение G и запуская любые отложенные функции. Это продолжается до тех пор, пока все функции в выполняемой горутине не остановятся, в обратном порядке. В этот момент программа завершается с ненулевым выходным кодом. Эта последовательность завершения называется паникой и может быть контролируема встроенной функцией recover.
Начиная с Go 1.21, вызов panic с nil значением интерфейса или untyped nil вызывает ошибку времени выполнения (другая паника). Настройка GODEBUG panicnil=1 отключает ошибку времени выполнения.
func print
func print(args ...Type)
Встроенная функция print форматирует свои аргументы специфичным для реализации способом и записывает результат в стандартный вывод ошибок. Print полезна для загрузки и отладки; она не гарантируется, что останется в языке.
func println
func println(args ...Type)
Встроенная функция println форматирует свои аргументы специфичным для реализации способом и записывает результат в стандартный вывод ошибок. Пробелы всегда добавляются между аргументами, и добавляется перевод строки. Println полезна для загрузки и отладки; она не гарантируется, что останется в языке.
func real
func real(c ComplexType) FloatType
Встроенная функция real возвращает действительную часть комплексного числа c. Возвращаемое значение будет типом с плавающей точкой, соответствующим типу c.
func recover
func recover() any
Встроенная функция recover позволяет программе управлять поведением горутины, которая паникует. Выполнение вызова recover внутри отложенной функции (но не любой функции, вызываемой ею) останавливает последовательность паники, восстанавливая нормальное выполнение и извлекает значение ошибки, переданное в вызов panic. Если recover вызывается вне отложенной функции, он не остановит последовательность паники. В этом случае или когда горутина не паникует, recover возвращает nil.
До Go 1.21, recover также возвращал бы nil, если panic вызывался с аргументом nil. См. [panic] для получения подробностей.
тип ComplexType
ComplexType предназначен только для целей документации. Это заглушка для любого типа комплексных чисел: complex64 или complex128.
type ComplexType complex64
тип FloatType
FloatType предназначен только для целей документации. Это заглушка для любого типа с плавающей точкой: float32 или float64.
type FloatType float32
тип IntegerType
IntegerType предназначен только для целей документации. Это заглушка для любого целого типа: int, uint, int8 и т. д.
type IntegerType int
тип Type
Type предназначен только для целей документации. Это заглушка для любого типа Go, но представляет один и тот же тип для любого вызова функции.
type Type int
тип Type1
Type1 предназначен только для целей документации. Это заглушка для любого типа Go, но представляет один и тот же тип для любого вызова функции.
type Type1 int
тип any
any — это псевдоним для interface{} и эквивалентен interface{} во всех отношениях.
type any = interface{} тип bool
bool — это множество булевых значений, true и false.
type bool bool
тип byte
byte — это псевдоним для uint8 и эквивалентен uint8 во всех отношениях. Он используется по соглашению для различения байтовых значений от 8-битовых беззнаковых целых чисел.
type byte = uint8
тип comparable
comparable — это интерфейс, который реализуется всеми сравниваемыми типами (булевыми значениями, числами, строками, указателями, каналами, массивами сравниваемых типов, структурами, поля которых являются сравниваемыми типами). Интерфейс comparable может использоваться только в качестве ограничения параметра типа, а не в качестве типа переменной.
type comparable interface{ comparable } тип complex128
complex128 — это множество всех комплексных чисел с вещественной и мнимой частями типа float64.
type complex128 complex128
тип complex64
complex64 — это множество всех комплексных чисел с вещественной и мнимой частями типа float32.
type complex64 complex64
тип error
Встроенный интерфейс типа error — это общепринятый интерфейс для представления ситуации ошибки, при этом значение nil обозначает отсутствие ошибки.
type error interface {
Error() string
} тип float32
float32 — это множество всех 32-битовых чисел с плавающей точкой IEEE 754.
type float32 float32
тип float64
float64 — это множество всех 64-битовых чисел с плавающей точкой IEEE 754.
type float64 float64
тип int
int — это целочисленный тип со знаком, размер которого не меньше 32 бит. Это отдельный тип, а не псевдоним для, например, int32.
type int int
тип int16
int16 — это множество всех 16-битовых целых чисел со знаком. Диапазон: от -32768 до 32767.
type int16 int16
тип int32
int32 — это множество всех 32-битовых целых чисел со знаком. Диапазон: от -2147483648 до 2147483647.
type int32 int32
тип int64
int64 — это множество всех 64-битовых целых чисел со знаком. Диапазон: от -9223372036854775808 до 9223372036854775807.
type int64 int64
тип int8
int8 — это множество всех 8-битовых целых чисел со знаком. Диапазон: от -128 до 127.
type int8 int8
тип rune
rune — это псевдоним для int32 и эквивалентен int32 во всех отношениях. Он используется по соглашению для различения значений символов от целочисленных значений.
type rune = int32
тип string
string — это множество всех строк из 8-битовых байтов, традиционно, но не обязательно, представляющих текст в кодировке UTF-8. Строка может быть пустой, но не nil. Значения типа string неизменяемы.
type string string
тип uint
uint — это целочисленный тип без знака, размер которого не меньше 32 бит. Это отдельный тип, а не псевдоним для, например, uint32.
type uint uint
тип uint16
uint16 — это множество всех 16-битовых целых чисел без знака. Диапазон: от 0 до 65535.
type uint16 uint16
тип uint32
uint32 — это множество всех 32-битовых целых чисел без знака. Диапазон: от 0 до 4294967295.
type uint32 uint32
тип uint64
uint64 — это множество всех 64-битовых целых чисел без знака. Диапазон: от 0 до 18446744073709551615.
type uint64 uint64
тип uint8
uint8 — это множество всех 8-битовых целых чисел без знака. Диапазон: от 0 до 255.
type uint8 uint8
тип uintptr
uintptr — это целочисленный тип, достаточно большой для хранения битового представления любого указателя.
type uintptr uintptr
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/builtin/