Поиск слова в строке является одной самых популярных задач разработчика. В большинстве современных языков программирования данная функция включена в стандартную библиотеку. Go не исключение. Далее будет дан способ реализации данного поиска в Go.

Как найти слово в строке Golang?

Создайте файл contains.go со следующим содержимым:

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

1. Запустите код, выполнив go run contains.go;
2. Посмотрите на вывод в терминале:

строки golang

Как работает код поиска слов в строке?

В библиотеке strings есть функции для операций над строками. В данном случае используется функция Contains. Функция Contains просто проверяет, есть в рассматриваемой строке указанное слово, или подстрока. Фактически, в функции Contains используется функция Index.

Чтобы проверить, начинается ли строка с указанной подстроки, используется функция HasPrefix. Чтобы проверить, заканчивается ли строка указанной подстрокой, используется функция HasSuffix.

Фактически функция Contains реализуется через использование функции Index из того же пакета. Можно догадаться, что реализация осуществляется следующим образом: если индекс данной подстроки больше -1, тогда функция Contains возвращает true.

Функции HasPrefix и HasSuffix работают иначе: внутренняя реализация просто проверяет длину строки и подстроки, и если они одинаковы или строка длиннее, тогда запрашиваемая часть строки сравнивается.

Понравилась статья?

Поддержи наш проект, чтобы мы могли создать больше хорошего контента!