What is a Go rune?
A rune is a type meant to represent a Unicode code point.
rune type is an alias for
int32, and is used to emphasize
than an integer represents a code point.
- ASCII defines 128 characters, identified by the code points 0–127. It covers English letters, Latin numbers, and a few other characters.
- Unicode, which is a superset of ASCII, defines a codespace of 1,114,112 code points. Unicode version 10.0 covers 139 modern and historic scripts (including runes, but not Klingon) as well as multiple symbol sets.
Strings and UTF-8
Note that a
string is a sequence of bytes, not runes.
However, strings often contain Unicode text encoded in UTF-8, which encodes all Unicode code points using one to four bytes. Since Go source code itself is encoded as UTF-8, string literals will automatically get this encoding.
String functions cheat sheet
Share this page: