Функция strings.Compare

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

Синтаксис

gostrings.Compare(a, b)

Пример

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

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Compare("abcde", "abcde")
  fmt.Println(res)
}

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

go0

Пример

Давайте сравним строки "abcde" и "abxyz", где первая строка меньше второй:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Compare("abcde", "abxyz")
  fmt.Println(res)
}

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

go-1

Пример

Давайте сравним строки "xyz" и "abcde", где первая строка больше второй:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Compare("xyz", "abcde")
  fmt.Println(res)
}

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

go1

Пример

Сравнение строк с учетом регистра. Строки "Hello" и "hello" считаются разными, так как регистр влияет на кодовые точки Unicode:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Compare("Hello", "hello")
  fmt.Println(res)
}

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

go-1

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

  • функцию strings.EqualFold,
    которая сравнивает строки без учета регистра
  • функцию strings.Contains,
    которая проверяет наличие подстроки в строке
  • функцию strings.HasPrefix,
    которая проверяет наличие префикса у строки
  • функцию strings.HasSuffix,
    которая проверяет наличие суффикса у строки