Что возвращает Append

«Что возвращает Append» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Append в Go возвращает новый слайс с добавленными элементами. Исходный слайс не изменяется, если его capacity недостаточна. Если capacity хватает, новый слайс может ссылаться на тот же базовый массив.

Пример:

s := []int{1, 2, 3}
s = append(s, 4) // [1 2 3 4]

Нюансы:

  • Если capacity мала, создаётся новый массив, и элементы копируются.
  • Всегда используйте возвращаемое значение (s = append(s, elem)), иначе изменения могут потеряться.