Функция bytes.Equal
Функция bytes.Equal сравнивает два слайса байтов и возвращает true, если они равны, и false в противном случае. В первый параметр мы передаем первый слайс байтов для сравнения, во второй параметр мы передаем второй слайс байтов для сравнения.
Функция учитывает длину слайсов и значения каждого байта. Если слайсы имеют разную длину, функция вернет false. Если длины совпадают, функция поэлементно сравнивает байты.
Синтаксис
bytes.Equal(a, b)
Пример
Давайте сравним два одинаковых слайса байтов []byte{"a", "b", "c"} и []byte{"a", "b", "c"}:
package main
import (
"bytes"
"fmt"
)
func main() {
a := []byte{"a", "b", "c"}
b := []byte{"a", "b", "c"}
res := bytes.Equal(a, b)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте сравним два разных слайса байтов []byte{"a", "b", "c"} и []byte{"a", "b", "d"}:
package main
import (
"bytes"
"fmt"
)
func main() {
a := []byte{"a", "b", "c"}
b := []byte{"a", "b", "d"}
res := bytes.Equal(a, b)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Давайте сравним слайсы байтов разной длины []byte{"a", "b", "c"} и []byte{"a", "b"}:
package main
import (
"bytes"
"fmt"
)
func main() {
a := []byte{"a", "b", "c"}
b := []byte{"a", "b"}
res := bytes.Equal(a, b)
fmt.Println(res)
}
Результат выполнения кода:
false
Смотрите также
-
функцию
bytes.EqualFold,
которая сравнивает слайсы байтов без учета регистра -
функцию
bytes.Compare,
которая сравнивает слайсы байтов и возвращает целое число -
функцию
strings.EqualFold,
которая сравнивает строки без учета регистра -
функцию
bytes.HasPrefix,
которая проверяет наличие префикса в слайсе байтов