Шаг 60.
Язык программирования Go.
Введение в процедурное программирование

    На этом шаге рассмотрим понятие процедурного программирования и встроенные функции в Go.

    На языке Go можно писать программы исключительно в процедурном стиле, в объектно-ориентированном стиле или использовать комбинацию двух парадигм. Знание процедурного программирования совершенно необходимо, потому что оно лежит в основе объектно-ориентированного и параллельного программирования на языке Go.

    В предыдущих шагах были представлены встроенные типы данных в языке Go, использовалось множество различных инструкций и управляющих структур языка Go, а также было создано много небольших функций. Далее более подробно будут рассмотрены вопросы создания и использования собственных функций. В табл. 1 приводится список встроенных функций языка Go, большинство из которых уже были описаны ранее.

Таблица 1. Встроенные функции языка Go
Функция
Описание/Результат
append (s, ...)
Срез s плюс новые элементы, добавленные в конец, если емкости среза s достаточно для размещения новых элементов; в противном случае создается новый срез, куда копируются срез s и новые элементы
cap(x)
Емкость среза x, или емкость буфера канала x, или длина массива x
close(ch)
Закрывает канал ch (за исключением каналов, открытых только на прием). После закрытия в канал невозможно будет отправить данные. Данные по-прежнему могут приниматься из канала (например, отправленные ранее, но пока не принятые данные), а когда в канале не останется данных, при попытке чтения из канала будут возвращаться нулевые значения
complex(r, i)
Значение типа complex128 с указанной действительной (r) и мнимой (i) частями, обе типа float64
copy(dst, src)
copy(b, s)
Скопирует элементы (возможно, перекрывающиеся) из среза src в срез dst, усекая копируемый фрагмент, если в целевом срезе недостаточно места; или скопирует байты из строки s в срез b типа []byte
delete(m, k)
Удалит элемент с ключом k из отображения m или, если такой элемент отсутствует, ничего не сделает
imag(cx)
Мнимая часть числа cx типа complex128 как число типа float64
len(x)
Длина среза x, или количество элементов в буфере канала x, или длина массива x, или число элементов в отображении x, или число байт в строке x
make(T)
make(T, n)
make (T, n, m)
Ссылка на срез, отображение или канал типа T. Если указано значение n, оно определяет длину и емкость среза, или первоначальную емкость отображения, или размер буфера канала. Только для срезов могут указываться значения n и m, определяющие длину и емкость
new(T)
Указатель на значение типа T
panic(x)
Генерирует перехватываемое исключение со значением x
real(cx)
Действительная часть числа cx типа complex128 как число типа float64
recover()
Перехватывает исключение

    На следующем шаге рассмотрим преобразование и приведение типов в Go.


Предыдущий шаг Содержание Следующий шаг