Как работает append в golang?

Пользователь

от velma , в категории: Golang , 2 года назад

Как работает append в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от josie , 2 года назад

@velma 

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


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


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


Пример использования функции append:

1
2
3
4
5
6
7
8
9
package main

import "fmt"

func main() {
    s := []int{1, 2, 3}
    s = append(s, 4, 5)
    fmt.Println(s) // [1 2 3 4 5]
}


В этом примере мы создали срез s с элементами [1, 2, 3]. Затем мы использовали функцию append, чтобы добавить элементы 4 и 5 в конец среза s. Результатом будет новый срез с элементами [1, 2, 3, 4, 5].

Пользователь

от craig.emmerich , год назад

@velma 

Примечание: append возвращает новый срез, и поэтому мы присваиваем результат вызова append обратно в переменную s. Если мы не присвоим результат, то изменения не будут сохранены.