Как проверить строку на наличие спецсимволов?

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

Вот пример функции, которая будет проверять наличие специальных символов в строке:

package main

import (
	"fmt"
	"regexp"
)

func ContainsSpecialCharacters(s string) bool {
	// Паттерн для поиска специальных символов
	pattern := `[^a-zA-Z0-9]`
	reg := regexp.MustCompile(pattern)
	return reg.MatchString(s)
}

func main() {
	// Тестирование функции
	str := "Hello, world!"
	if ContainsSpecialCharacters(str) {
		fmt.Println("Строка содержит специальные символы")
	} else {
		fmt.Println("Строка не содержит специальные символы")
	}
}

В этом коде мы определяем функцию ContainsSpecialCharacters, которая принимает строку в качестве аргумента. Внутри функции мы создаем паттерн регулярного выражения [^ws], который ищет любой символ, который не является буквой или цифрой. Затем мы используем regexp.MustCompile для компиляции регулярного выражения и MatchString для проверки наличия совпадений в строке. Функция возвращает true, если обнаружены специальные символы, и false в противном случае.

В функции main мы просто тестируем эту функцию, передавая ей строку "Hello, world!". Если функция возвращает true, мы выводим сообщение "Строка содержит специальные символы", иначе мы выводим сообщение "Строка не содержит специальные символы".

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