РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
226 of 1593 menu

Функция append

Функция append добавляет один или несколько элементов в конец слайса. Она принимает два параметра: первый параметр - это слайс, в который мы добавляем элементы, а второй и последующие параметры - это элементы, которые мы добавляем. Функция возвращает новый слайс, содержащий исходные элементы и добавленные в конце.

Синтаксис

append(slice, elements...)

Пример

Давайте создадим слайс из строк и добавим в него элемент "e" в конец:

package main import "fmt" func main() { slice := []string{"a", "b", "c", "d"} res := append(slice, "e") fmt.Println(res) }

Результат выполнения кода:

[a b c d e]

Пример

Добавим несколько элементов в слайс чисел:

package main import "fmt" func main() { slice := []int{1, 2, 3, 4, 5} res := append(slice, 6, 7, 8) fmt.Println(res) }

Результат выполнения кода:

[1 2 3 4 5 6 7 8]

Пример

Добавим в слайс другой слайс, используя оператор распаковки ...:

package main import "fmt" func main() { slice1 := []string{"a", "b", "c"} slice2 := []string{"d", "e"} res := append(slice1, slice2...) fmt.Println(res) }

Результат выполнения кода:

[a b c d e]

Пример

Важно понимать, что функция append может не изменять исходный слайс, если его емкости достаточно для новых элементов. В этом случае возвращаемый слайс будет указывать на ту же память, но в общем случае следует всегда присваивать результат:

package main import "fmt" func main() { slice := []int{1, 2, 3} slice = append(slice, 4, 5) fmt.Println(slice) }

Результат выполнения кода:

[1 2 3 4 5]

Смотрите также

  • функцию copy,
    которая копирует элементы из одного слайса в другой
  • функцию cap,
    которая возвращает емкость слайса
  • функцию slices.Concat,
    которая объединяет несколько слайсов в один
  • функцию slices.Insert,
    которая вставляет элементы в указанную позицию слайса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить