Функция append в Go
Встроенная функция Append позволит вам работать с Go более эффективно. Давайте напишем эту функцию для добавления элементов в срез:
Итак, с пользовательской функцией Append мы познакомились. Однако сигнатура append отличается от самой функции. Схематически это выглядит так:
Здесь T -- заполнитель для любого данного типа. То есть на деле вы не сможете написать функцию в Goland, где тип T будет определяться вызывающим абонентом. Именно поэтому append и встроен -- ему необходима поддержка со стороны компилятора.
Что же append делает? К примеру, добавляет элементы в конец среза, возвращая результат. При этом результат надо вернуть по той же причине, что и в случае с функцией Append, описанной в самом первом примере, -- главный массив может поменяться.
Рассмотрим очередной пример:
Он позволяет напечатать [1 2 3 4 5 6]. То есть в каком-то смысле работу append можно сравнить с Printf, когда собирается произвольное количество аргументов.
Но что нам делать, если мы желаем воспользоваться возможностями Append, добавив срез в срез? На деле мы можем применить троеточие
Интересно, что без троеточия
По материалам блога https://golang-blog.blogspot.com/.