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
}
Как видно из кода - функция внутри сама использует операторы == и <.
Читайте также:
- Руны и кодировка символов в Golang
- Строка, байт, руна, символ в Golang
- Массивы, срезы и строки: механика работы append в Golang
Комментариев нет:
Отправить комментарий