На этом шаге рассмотрим понятие процедурного программирования и встроенные функции в Go.
На языке Go можно писать программы исключительно в процедурном стиле, в объектно-ориентированном стиле или использовать комбинацию двух парадигм. Знание процедурного программирования совершенно необходимо, потому что оно лежит в основе объектно-ориентированного и параллельного программирования на языке Go.
В предыдущих шагах были представлены встроенные типы данных в языке Go, использовалось множество различных инструкций и управляющих структур языка Go, а также было создано много небольших функций. Далее более подробно будут рассмотрены вопросы создания и использования собственных функций. В табл. 1 приводится список встроенных функций языка Go, большинство из которых уже были описаны ранее.
Срез s плюс новые элементы, добавленные в конец, если емкости среза s достаточно для размещения новых элементов; в противном случае создается новый срез, куда копируются срез s и новые элементы | |
Емкость среза x, или емкость буфера канала x, или длина массива x | |
Закрывает канал ch (за исключением каналов, открытых только на прием). После закрытия в канал невозможно будет отправить данные. Данные по-прежнему могут приниматься из канала (например, отправленные ранее, но пока не принятые данные), а когда в канале не останется данных, при попытке чтения из канала будут возвращаться нулевые значения | |
Значение типа complex128 с указанной действительной (r) и мнимой (i) частями, обе типа float64 | |
copy(b, s) |
Скопирует элементы (возможно, перекрывающиеся) из среза src в срез dst, усекая копируемый фрагмент, если в целевом срезе недостаточно места; или скопирует байты из строки s в срез b типа []byte |
Удалит элемент с ключом k из отображения m или, если такой элемент отсутствует, ничего не сделает | |
Мнимая часть числа cx типа complex128 как число типа float64 | |
Длина среза x, или количество элементов в буфере канала x, или длина массива x, или число элементов в отображении x, или число байт в строке x | |
make(T, n) make (T, n, m) |
Ссылка на срез, отображение или канал типа T. Если указано значение n, оно определяет длину и емкость среза, или первоначальную емкость отображения, или размер буфера канала. Только для срезов могут указываться значения n и m, определяющие длину и емкость |
Указатель на значение типа T | |
Генерирует перехватываемое исключение со значением x | |
Действительная часть числа cx типа complex128 как число типа float64 | |
Перехватывает исключение |
На следующем шаге рассмотрим преобразование и приведение типов в Go.