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

Тип rune

Тип rune в Go является псевдонимом для int32 и предназначен для хранения Unicode-кодовых точек. Он используется для работы с отдельными символами в строках, которые могут занимать более одного байта в кодировке UTF-8. В отличие от типа byte, который хранит один байт (ASCII-символ), тип rune может хранить любой символ из таблицы Unicode.

Синтаксис

var r rune = 'A'

Для объявления переменной типа rune используются одинарные кавычки. Литерал может содержать как один ASCII-символ, так и Unicode-символ, например, кириллицу или иероглиф.

Пример

Объявим переменную типа rune и выведем её значение и числовой код:

package main import "fmt" func main() { var r rune = 'А' fmt.Printf("Символ: %c, код: %d\n", r, r) }

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

"Символ: А, код: 1040"

Пример

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

package main import "fmt" func main() { str := "Go语言" runes := []rune(str) for i, r := range runes { fmt.Printf("Индекс: %d, символ: %c, код: %d\n", i, r, r) } }

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

"Индекс: 0, символ: G, код: 71" "Индекс: 1, символ: o, код: 111" "Индекс: 2, символ: 语, код: 35821" "Индекс: 3, символ: 言, код: 35328"

Пример

Изменим символ в строке, используя срез рун:

package main import "fmt" func main() { str := "abcde" runes := []rune(str) runes[2] = 'Z' newStr := string(runes) fmt.Println(newStr) }

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

"abZde"

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

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