понедельник, 31 августа 2020 г.

Пакет strings в Golang, функция Compare

func Compare(a, b string) int

Compare возвращает целое число, сравнивая две строки лексикографически. Результатом будет 0, если a == b, -1, если a < b, и +1, если a > b.

Compare включена только для симметрии с пакетом bytes. Обычно проще и быстрее использовать встроенные операторы сравнения строк ==, <, > и так далее.

Пример использования Compare

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Compare("a", "b"))
    fmt.Println(strings.Compare("a", "a"))
    fmt.Println(strings.Compare("b", "a"))
}

Вывод:

-1
0
1

В подтверждение слов о том, что функция реализована только для симмертрии с пакетом bytes, взглянем на реализацию функции в пакете strings:

package strings

func Compare(a, b string) int {
    if a == b {
      return 0
    }
    if a < b {
      return -1
    }
    return +1
}

Как видно из кода - функция внутри сама использует операторы == и <.


Читайте также:


Комментариев нет:

Отправить комментарий