Функция slices.Compare

Функция slices.Compare сравнивает два слайса одного типа. Она возвращает целое число: 0, если слайсы равны; -1, если первый слайс меньше второго; 1, если первый слайс больше второго. Первым параметром функция принимает первый слайс, вторым - второй слайс для сравнения.

Синтаксис

goslices.Compare(slice1, slice2)

Пример

Давайте сравним два одинаковых слайса строк:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  slice1 := []string{"a", "b", "c"}
  slice2 := []string{"a", "b", "c"}
  res := slices.Compare(slice1, slice2)
  fmt.Println(res)
}

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

go0

Пример

Давайте сравним два слайса чисел, где первый меньше второго:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  slice1 := []int{1, 2, 3}
  slice2 := []int{1, 2, 4}
  res := slices.Compare(slice1, slice2)
  fmt.Println(res)
}

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

go-1

Пример

Давайте сравним два слайса чисел, где первый больше второго:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  slice1 := []int{5, 6, 7}
  slice2 := []int{5, 6, 6}
  res := slices.Compare(slice1, slice2)
  fmt.Println(res)
}

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

go1

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

  • функцию slices.Equal,
    которая проверяет слайсы на равенство
  • функцию slices.CompareFunc,
    которая сравнивает слайсы с пользовательской функцией
  • функцию slices.EqualFunc,
    которая проверяет равенство с пользовательской функцией
  • функцию slices.Sort,
    которая сортирует слайс