РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
74 of 1593 menu

Преобразование между string и []rune

Преобразование между string и []rune позволяет работать с отдельными символами (рунами) строки. В первом случае мы преобразуем строку в срез рун для посимвольной обработки, во втором - собираем срез рун обратно в строку. Это особенно важно при работе с Unicode-символами, которые могут занимать более одного байта.

Синтаксис

[]rune(str) string(runes)

Пример

Давайте преобразуем строку "hello" в срез рун и выведем каждый символ по отдельности:

package main import "fmt" func main() { str := "hello" runes := []rune(str) for i, r := range runes { fmt.Printf("Index: %d, Rune: %c, Code: %U\n", i, r, r) } }

Результат выполнения кода:

"Index: 0, Rune: h, Code: U+0068" "Index: 1, Rune: e, Code: U+0065" "Index: 2, Rune: l, Code: U+006C" "Index: 3, Rune: l, Code: U+006C" "Index: 4, Rune: o, Code: U+006F"

Пример

Давайте преобразуем срез рун обратно в строку:

package main import "fmt" func main() { runes := []rune{'H', 'e', 'l', 'l', 'o'} res := string(runes) fmt.Println(res) }

Результат выполнения кода:

"Hello"

Пример

Давайте преобразуем строку с кириллическими символами в срез рун и обратно:

package main import "fmt" func main() { str := "Привет" runes := []rune(str) fmt.Printf("Length in bytes: %d\n", len(str)) fmt.Printf("Length in runes: %d\n", len(runes)) res := string(runes) fmt.Println(res) }

Результат выполнения кода:

"Length in bytes: 12" "Length in runes: 6" "Привет"

Смотрите также

  • функцию to-rune,
    которая преобразует различные типы данных в руну
  • функцию to-string,
    которая преобразует различные типы данных в строку
  • функцию to-byte-slice,
    которая преобразует строку в срез байтов
  • функцию to-rune-slice,
    которая преобразует строку в срез рун
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить