Go хранит строки в UTF-8. Кириллица - многобайтовые руны. Используйте for _, r := range s для обхода по символам; len(s) даст байты. Для среза "по символам" переведите в []rune, срежьте, обратно string(). Функции strings, utf8 работают с UTF-8.