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

Функция slices.Clip

Функция slices.Clip уменьшает емкость слайса до его текущей длины. Это полезно, когда слайс был создан с большим запасом по емкости, но после операций, таких как добавление или удаление элементов, значительная часть зарезервированной памяти остается неиспользуемой. Функция возвращает новый слайс, указывающий на ту же базовую структуру данных, но с обрезанной емкостью. Первым и единственным параметром функция принимает слайс любого типа.

Синтаксис

slices.Clip(s)

Пример

Давайте создадим слайс с изначальной емкостью 10, а затем обрежем его до длины 5:

package main import ( "fmt" "slices" ) func main() { s := make([]int, 5, 10) for i := range s { s[i] = i + 1 } fmt.Printf("len: %d, cap: %d\n", len(s), cap(s)) s = slices.Clip(s) fmt.Printf("len: %d, cap: %d\n", len(s), cap(s)) fmt.Println(s) }

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

len: 5, cap: 10 len: 5, cap: 5 [1 2 3 4 5]

Пример

Давайте рассмотрим ситуацию, когда емкость и длина слайса уже равны:

package main import ( "fmt" "slices" ) func main() { s := []string{"a", "b", "c", "d", "e"} fmt.Printf("len: %d, cap: %d\n", len(s), cap(s)) s = slices.Clip(s) fmt.Printf("len: %d, cap: %d\n", len(s), cap(s)) fmt.Println(s) }

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

len: 5, cap: 5 len: 5, cap: 5 [a b c d e]

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

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