Wat zijn Runen in Golang? Hoe gebruik je Rune in Golang? Het artikel geeft u het antwoord.

Vroeger hadden we maar één tekenset: ASCII (American Standard Code for Information Interchange). Vervolgens gebruiken we 7 bits om 128 tekens weer te geven, waaronder hoofdletters en kleine letters in het Engels, cijfers en diverse leestekens en tekens voor apparaatbesturing. Door deze beperking in het aantal tekens kon het grootste deel van de bevolking hun eigen schriftsysteem niet gebruiken. Om dat probleem op te lossen werd Unicode "geboren". Unicode is een superset van ASCII die alle tekens bevat die tegenwoordig in alle schriftsystemen voorkomen. Het bevat accenten, diakritische tekens, controlecodes zoals tabs en regeleinden, waarbij aan elk teken een standaardnummer wordt toegewezen, een zogenaamde "Unicode Code Point" of in Go een "Rune". Het type Rune is een alias voor int32.
Punten om te onthouden over Runen in Golang
- Onthoud altijd dat een string een reeks bytes is en geen Rune. Een tekenreeks kan Unicodetekst bevatten die is gecodeerd in UTF-8. Maar de broncode van Go is gecodeerd in UTF-8, dus is het niet nodig om strings in UTF-8 te coderen.
- UTF-8 codeert alle Unicode-tekens in het bereik van 1 tot 4 bytes, waarbij 1 byte wordt gebruikt voor ASCII en de rest voor Runes.
- ASCII bevat in totaal 256 elementen, waarvan 128 tekens en 0-127 gedefinieerd zijn als code points. Hierbij verwijst code punt naar een element dat één enkele waarde vertegenwoordigt.
Bijvoorbeeld:
♄
Dit is een Rune met de hexadecimale waarde ♄.
De ware betekenis van runen
Het vertegenwoordigt een Rune-constante, waarbij een geheel getal een Unicode-code punt identificeert. In de taal Go wordt een Rune Literal weergegeven als een of meer tekens tussen haakjes, zoals 'g', '\t', enz. Tussen de haakjes mag u elk teken plaatsen, behalve een nieuwe regel en een haakje zonder escape-teken. Hierbij stellen de tekens tussen haakjes de Unicode-waarde van het gegeven teken zelf voor. Tekenreeksen met meerdere tekens en een backslash (aan het begin van de tekenreeks met meerdere tekens) coderen de waarden in een ander formaat. In Rune Literal zijn alle strings die beginnen met een backslash ongeldig. Alleen de volgende enkelvoudige ontsnapte tekens vertegenwoordigen speciale waarden wanneer u ze met een backslash gebruikt:
| Karakter |
Unicode |
Beschrijven |
| \A |
U+0007 |
Alarm of bel |
| \B |
U+0008 |
Backspace |
| \F |
U+000C |
Formuliergegevens |
| \N |
U+000A |
Regeleinde of regeleinde |
| \R |
U+000D |
Terug naar het begin van de regel |
| \T |
U+0009 |
Horizontaal tabblad |
| \v |
U+000b |
Verticaal tabblad |
| \\ |
U+005c |
Terugstrepen |
| \' |
U+0027 |
Apostrof |
| \” |
U+0022 |
Dubbele aanhalingstekens (alleen geldig in tekenreeksen) |
Bijvoorbeeld:
//Minh họa chương trình Go đơn giản về cách tạo một rune
package main
import (
"fmt"
"reflect"
)
func main() {
// Tạo một rune
rune1 := 'B'
rune2 := 'g'
rune3 := '\a'
// Hiện rune và kiểu của nó
fmt.Printf("Rune 1: %c; Unicode: %U; Type: %s", rune1,
rune1, reflect.TypeOf(rune1))
fmt.Printf("\nRune 2: %c; Unicode: %U; Type: %s", rune2,
rune2, reflect.TypeOf(rune2))
fmt.Printf("\nRune 3: Unicode: %U; Type: %s", rune3,
reflect.TypeOf(rune3))
}
Resultaat:
Rune 1: B; Unicode: U+0042; Type: int32
Rune 2: g; Unicode: U+0067; Type: int32
Rune 3: Unicode: U+0007; Type: int32
Voorbeeld 2:
![Hoe Rune te gebruiken in Golang Hoe Rune te gebruiken in Golang]()
Resultaat:
Character: ♛, Unicode:U+265B, Position:0
Character: ♠, Unicode:U+2660, Position:1
Character: ♧, Unicode:U+2667, Position:2
Character: ♡, Unicode:U+2661, Position:3
Character: ♬, Unicode:U+266C, Position:4