Функция strings.IndexByte
Функция strings.IndexByte ищет первое вхождение
указанного байта в строке. Она возвращает индекс первого
вхождения байта в виде числа int. Если байт не найден,
функция возвращает -1. В первый параметр мы передаем
исходную строку, во второй параметр — байт (значение типа
byte), который нужно найти.
Синтаксис
strings.IndexByte(str, b)
Пример
Давайте найдем позицию байта 'c' в строке "abcde":
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.IndexByte("abcde", 'c')
fmt.Println(res)
}
Результат выполнения кода:
2
Индексация в Go начинается с нуля, поэтому байт 'c' находится на позиции 2.
Пример
Попробуем найти байт 'x' в строке "abcde", которого там нет:
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.IndexByte("abcde", 'x')
fmt.Println(res)
}
Результат выполнения кода:
-1
При отсутствии байта функция возвращает -1.
Пример
Функция учитывает регистр символов. Найдем байт 'B' в строке "Abcde":
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.IndexByte("Abcde", 'B')
fmt.Println(res)
}
Результат выполнения кода:
1
Байт 'B' найден на позиции 1, несмотря на то, что первый символ строки — заглавная 'A'.
Смотрите также
-
функцию
strings.Index,
которая ищет позицию первого вхождения подстроки -
функцию
strings.IndexAny,
которая ищет позицию первого вхождения любого символа из набора -
функцию
strings.LastIndexByte,
которая ищет позицию последнего вхождения байта -
функцию
strings.Contains,
которая проверяет наличие подстроки в строке