аллокация, создание срезов (slice), карт (map) и каналов
Аллокация
Встроенная функция new принимает тип T, выделяет память для переменной этого типа во время выполнения и возвращает значение типа *T, указывающее на него. Переменная инициализируется, нулевым значением для своего типа.
Например
выделяет память для переменной типа S, инициализирует ее (a=0, b=0.0) и возвращает значение типа *S, содержащее адрес расположения переменной в памяти.
Создание срезов (slice), карт (map) и каналов
Встроенная функция make принимает тип T, который должен быть типом среза, карты или канала, за которым может следовать список выражений, зависящий от типа. Возвращает значение типа T (не *T). Память инициализируется, как описано в посте о начальных значениях.
Каждый из аргументов размера n и m должен иметь целочисленный тип или нетипизированную константу. Аргумент постоянного размера должен быть неотрицательным и представимым значением типа int; если это нетипизированная константа, ей присваивается тип int. Если оба n и m заданы и являются постоянными, то n должно быть не больше m. Если n отрицательно или больше чем m во время выполнения, возникает паника во время выполнения.
Вызов make с a с типом map и размером карты n создаст карту с начальным пространством для хранения n элементов карты. Точное поведение зависит от реализации.
Last updated
Was this helpful?