Функция bytes.Contains

Функция bytes.Contains проверяет, содержится ли подпоследовательность байтов в байтовом срезе. Она возвращает true, если подпоследовательность найдена, и false в противном случае. Первым параметром функция принимает байтовый срез для поиска, вторым — подпоследовательность байтов, которую нужно найти.

Синтаксис

gobytes.Contains(s, substr)

Пример

Давайте проверим, содержит ли байтовый срез []byte("abcde") подпоследовательность []byte("bcd"):

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("abcde")
  sub := []byte("bcd")
  res := bytes.Contains(s, sub)
  fmt.Println(res)
}

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

gotrue

Пример

Давайте проверим, содержит ли байтовый срез []byte("abcde") подпоследовательность []byte("xyz"):

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("abcde")
  sub := []byte("xyz")
  res := bytes.Contains(s, sub)
  fmt.Println(res)
}

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

gofalse

Пример

Функция bytes.Contains чувствительна к регистру. Давайте проверим это на примере:

gopackage main

import (
  "bytes"
  "fmt"
)

func main() {
  s := []byte("Hello World")
  sub1 := []byte("hello")
  sub2 := []byte("World")

  res1 := bytes.Contains(s, sub1)
  res2 := bytes.Contains(s, sub2)

  fmt.Println(res1)
  fmt.Println(res2)
}

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

gofalse
true

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

  • функцию bytes.ContainsAny,
    которая проверяет наличие любого байта из набора
  • функцию bytes.Count,
    которая подсчитывает количество вхождений подпоследовательности
  • функцию bytes.Index,
    которая возвращает позицию первого вхождения подпоследовательности
  • функцию bytes.Replace,
    которая заменяет вхождения подпоследовательности на другую