Функция 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,
которая вставляет элементы в указанную позицию слайса