Функция slices.Reverse

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

Синтаксис

goslices.Reverse(s)

Пример sect

Давайте изменим порядок элементов слайса строк на обратный:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  s := []string{"a", "b", "c", "d", "e"}
  slices.Reverse(s)
  fmt.Println(s)
}

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

go[e d c b a]

Пример sect

Давайте изменим порядок элементов слайса чисел на обратный:

gopackage main

import (
  "fmt"
  "slices"
)

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

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

go[5 4 3 2 1]

Пример sect

Функция работает корректно со слайсами любого размера, в том числе пустыми и содержащими один элемент:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  s1 := []string{"a"}
  slices.Reverse(s1)
  fmt.Println(s1)
  
  s2 := []string{}
  slices.Reverse(s2)
  fmt.Println(s2)
}

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

go[a]
[]

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

  • функцию slices.Sort,
    которая сортирует слайс в порядке возрастания
  • функцию slices.Clone,
    которая создает копию слайса
  • функцию slices.Compact,
    которая удаляет последовательные повторяющиеся элементы
  • функцию slices.Insert,
    которая вставляет элемент в слайс по указанному индексу