РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
148 of 1593 menu

Функция strings.IndexFunc

Функция strings.IndexFunc возвращает индекс первого символа в строке, для которого переданная пользовательская функция возвращает true. Первый параметр функции принимает строку для поиска, второй параметр принимает функцию, которая проверяет каждый символ и возвращает bool. Если подходящий символ не найден, функция возвращает -1.

Синтаксис

strings.IndexFunc(str, func(r rune) bool)

Пример

Давайте найдем индекс первого символа в строке "abcde", который является гласной буквой:

package main import ( "fmt" "strings" "unicode" ) func main() { isVowel := func(r rune) bool { return r == 'a' || r == 'e' || r == 'i' || r == 'o' || r == 'u' } res := strings.IndexFunc("abcde", isVowel) fmt.Println(res) }

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

0

В строке "abcde" первый символ 'a' является гласной, поэтому функция возвращает индекс 0.

Пример

Теперь найдем индекс первого символа в строке "abcde", который является цифрой:

package main import ( "fmt" "strings" "unicode" ) func main() { res := strings.IndexFunc("abcde", unicode.IsDigit) fmt.Println(res) }

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

-1

В строке "abcde" нет цифр, поэтому функция возвращает -1.

Пример

Найдем индекс первого символа в строке "12345", который не является цифрой:

package main import ( "fmt" "strings" "unicode" ) func main() { isNotDigit := func(r rune) bool { return !unicode.IsDigit(r) } res := strings.IndexFunc("12345", isNotDigit) fmt.Println(res) }

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

-1

Все символы в строке "12345" являются цифрами, поэтому функция возвращает -1.

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

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