TGViewer
self self @xaself · 368 subscribers
Post #68 3.63K
👩‍💻 Руны в Go

Rune — тип данных, который используется для представления кодовых точек. Он является псевдонимом для int32, то есть 32-битного целого числа. Это значит, что каждая руна может представлять одну кодовую точку Unicode.

Кодовая точка — это уникальный номер, который присваивается каждому символу в стандарте Unicode. Представь, что каждый символ — это буква в алфавите, а кодовая точка — это номер страницы в словаре, где ты найдешь эту букву.


Этот код выведет на экран каждую руну строки str вместе с ее кодовой точкой.
package main

import "fmt"

func main() {
str := "Привет⭐️"
for _, r := range str {
fmt.Printf("%c: %d\n", r, r)
}
}


Строка свободно преобразуется в []byte и []rune, но эти 2 типа данных не конвертируются между собой напрямую
s := "hey😉"

rs := []rune([]byte(s)) // cannot convert ([]byte)(s) (type []byte) to type []rune

bs := []byte([]rune(s)) // cannot convert ([]rune)(s) (type []rune) to type []byte


В Go присутствует синтаксический сахар при обходе строки. Если использовать конструкцию for range, строка автоматически будет преобразована в []rune, то есть обход будет по Юникод символам
emoji := "привет😀"
for _, ch := range emoji {
fmt.Println(ch, string(ch)) // выводим код символа и его строковое представление
}


Все переменные

#golang #go #переменные #variables #rune
  • ❤ 1
More from @xaself
  1. May 31, 2026broot — мощная альтернатива tree и ranger для просмотра и навигации по файловой системе CL…
  2. May 22, 2026witr — инструмент для ответа на один важный вопрос: "Почему это запущено?" (Why is this ru…
  3. Mar 12, 2026👩‍🦰 ripgrep — сверхбыстрая современная альтернатива grep, написанная на Rust. CLI: rg <p…
  4. Feb 21, 2026👩‍🦰 Zellij — продвинутая альтернатива tmux, написанная на Rust. CLI: zellij — запустить…
  5. Sep 5, 2025🐍 uv — современный менеджер пакетов и виртуальных окружений для Python CLI: uv init — соз…
  6. May 7, 2025👩‍🦰 pterm — библиотека на GO для создания красивого интерфейса в терминале Возможности:…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →