Функция bytes.HasPrefix
Функция bytes.HasPrefix проверяет,
начинается ли срез байтов ([]byte) с указанного префикса.
Она возвращает true, если срез начинается с переданного префикса,
и false в противном случае.
Первым параметром функция принимает исходный срез байтов,
вторым — префикс, который нужно проверить.
Важно: функция чувствительна к регистру байтов.
Синтаксис
bytes.HasPrefix(s, prefix)
Пример
Давайте проверим, начинается ли срез байтов
[]byte("abcde") с префикса []byte("abc"):
package main
import (
"bytes"
"fmt"
)
func main() {
s := []byte("abcde")
prefix := []byte("abc")
res := bytes.HasPrefix(s, prefix)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, начинается ли срез байтов
[]byte("abcde") с префикса []byte("bcd"):
package main
import (
"bytes"
"fmt"
)
func main() {
s := []byte("abcde")
prefix := []byte("bcd")
res := bytes.HasPrefix(s, prefix)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Функция чувствительна к регистру.
Проверим, начинается ли срез байтов
[]byte("Hello") с префикса []byte("hello"):
package main
import (
"bytes"
"fmt"
)
func main() {
s := []byte("Hello")
prefix := []byte("hello")
res := bytes.HasPrefix(s, prefix)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Если префикс — пустой срез байтов,
функция всегда возвращает true:
package main
import (
"bytes"
"fmt"
)
func main() {
s := []byte("abcde")
prefix := []byte{}
res := bytes.HasPrefix(s, prefix)
fmt.Println(res)
}
Результат выполнения кода:
true
Смотрите также
-
функцию
bytes.HasSuffix,
которая проверяет наличие суффикса в срезе байтов -
функцию
bytes.Contains,
которая проверяет наличие подстроки в срезе байтов -
функцию
strings.HasPrefix,
которая выполняет аналогичную проверку для строк -
функцию
bytes.Index,
которая возвращает позицию первого вхождения подстроки в срезе байтов