Как в Golang проверить вхождение строки в строку, но слово целиком?

В Golang можно проверить вхождение строки в строку, но только слово целиком, используя пакет strings и методы, предоставляемые этим пакетом.

Для начала, вы можете использовать метод strings.Contains, чтобы проверить, содержит ли одна строка подстроку. Однако этот метод не проверяет, является ли подстрока отдельным словом в строке. Например, если вы хотите проверить вхождение слова "bar" в строке "foo bar baz", метод Contains вернет true.

Чтобы проверить вхождение слова целиком, вы можете использовать регулярные выражения с помощью пакета regexp. В этом случае вам понадобится использовать метод regexp.MatchString.

Пример кода, демонстрирующий проверку вхождения слова "bar" целиком в строку "foo bar baz":

package main

import (
	"fmt"
	"regexp"
)

func main() {
	str := "foo bar baz"
	word := "bar"
	
	// Создаем регулярное выражение для проверки слова целиком с границей слова `b`
	reg := regexp.MustCompile(`b` + word + `b`)
	
	// Проверяем, содержит ли строка слово целиком
	if reg.MatchString(str) {
		fmt.Printf("Строка '%s' содержит слово '%s' целиком!n", str, word)
	} else {
		fmt.Printf("Строка '%s' не содержит слово '%s' целиком!n", str, word)
	}
}

В данном примере мы создаем регулярное выражение с помощью regexp.MustCompile, используя b перед и после искомого слова word. b является метасимволом, обозначающим границы слова. Затем мы используем метод MatchString, чтобы проверить, соответствует ли строка регулярному выражению.

Если строка содержит слово "bar" целиком, мы выводим сообщение "Строка содержит слово 'bar' целиком". В противном случае, мы выводим сообщение "Строка не содержит слово 'bar' целиком".

Вот некоторые примеры результатов выполнения данного кода:
- Для строки "foo bar baz" и слова "bar" выводится "Строка содержит слово 'bar' целиком".
- Для строки "foo barbaz" и слова "bar" выводится "Строка не содержит слово 'bar' целиком".

Таким образом, мы можем использовать регулярные выражения в Golang, чтобы проверить вхождение слова целиком в строку.