Функция strings.IndexByte

Функция strings.IndexByte ищет первое вхождение указанного байта в строке. Она возвращает индекс первого вхождения байта в виде числа int. Если байт не найден, функция возвращает -1. В первый параметр мы передаем исходную строку, во второй параметр — байт (значение типа byte), который нужно найти.

Синтаксис

gostrings.IndexByte(str, b)

Пример

Давайте найдем позицию байта 'c' в строке "abcde":

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.IndexByte("abcde", 'c')
  fmt.Println(res)
}

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

go2

Индексация в Go начинается с нуля, поэтому байт 'c' находится на позиции 2.

Пример

Попробуем найти байт 'x' в строке "abcde", которого там нет:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.IndexByte("abcde", 'x')
  fmt.Println(res)
}

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

go-1

При отсутствии байта функция возвращает -1.

Пример

Функция учитывает регистр символов. Найдем байт 'B' в строке "Abcde":

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.IndexByte("Abcde", 'B')
  fmt.Println(res)
}

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

go1

Байт 'B' найден на позиции 1, несмотря на то, что первый символ строки — заглавная 'A'.

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

  • функцию strings.Index,
    которая ищет позицию первого вхождения подстроки
  • функцию strings.IndexAny,
    которая ищет позицию первого вхождения любого символа из набора
  • функцию strings.LastIndexByte,
    которая ищет позицию последнего вхождения байта
  • функцию strings.Contains,
    которая проверяет наличие подстроки в строке