Как превратить строку в руны

«Как превратить строку в руны» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go строка — это последовательность байт. Для работы с Unicode символами (рунами) используйте преобразование в []rune. Каждая руна представляет Unicode код-пойнт.

s := "Привет, мир!"
runes := []rune(s) // Преобразование строки в срез рун
fmt.Println(runes)  // Выведет Unicode коды символов

Нюансы:

  • Индексация рун отличается от индексации байт (например, s[0] вернет первый байт, а не символ).

  • Для итерации по рунам можно использовать range:

    for i, r := range s {
        fmt.Printf("%d: %cn", i, r)
    }
  • Обратное преобразование: string(runes).