Que sont les runes dans Golang ? Comment utiliser Rune dans Golang ? L'article vous donnera la réponse.

Dans le passé, nous n’avions qu’un seul jeu de caractères, appelé ASCII (American Standard Code for Information Interchange). Nous utilisons ensuite 7 bits pour représenter 128 caractères, y compris des lettres majuscules et minuscules anglaises, des chiffres et divers signes de ponctuation et caractères de contrôle de périphérique. En raison de cette limitation de caractères, la majorité de la population n’était pas en mesure d’utiliser son système d’écriture personnalisé. Pour résoudre ce problème, Unicode est « né ». Unicode est un sur-ensemble de l'ASCII qui contient tous les caractères des systèmes d'écriture du monde actuel. Il comprend des accents, des signes diacritiques, des codes de contrôle comme des tabulations et des sauts de ligne, attribuant à chaque caractère un numéro standard appelé « point de code Unicode » ou dans Go une « rune ». Le type Rune est un alias pour int32.
Points à retenir sur les runes dans Golang
- N'oubliez jamais qu'une chaîne est une séquence d'octets, pas une rune. Une chaîne peut contenir du texte Unicode encodé en UTF-8. Mais le code source de Go est codé en UTF-8, il n'est donc pas nécessaire d'encoder les chaînes en UTF-8.
- UTF-8 encode tous les Unicode dans la plage de 1 à 4 octets, où 1 octet est utilisé pour l'ASCII et le reste pour les runes.
- L'ASCII contient un total de 256 éléments, dont 128 sont des caractères et 0 à 127 sont définis comme des points de code. Ici, le point de code fait référence à un élément qui représente une valeur unique.
Par exemple:
♄
Il s'agit d'une rune avec la valeur hexadécimale ♄.
La véritable signification des runes
Il représente une constante runique, où une valeur entière identifie un point de code Unicode. Dans le langage Go, un littéral runique est représenté par un ou plusieurs caractères entre parenthèses comme « g », « \t », etc. Entre les parenthèses, vous êtes autorisé à placer n'importe quel caractère à l'exception d'une nouvelle ligne et d'une parenthèse non échappée. Ici, les caractères entre ces parenthèses représentent la valeur Unicode du caractère donné lui-même, et les chaînes à plusieurs caractères avec une barre oblique inverse (au début de la chaîne à plusieurs caractères) codent les valeurs dans un format différent. Dans Rune Literal, toutes les chaînes commençant par une barre oblique inverse ne sont pas valides, seuls les caractères d'échappement simples suivants représentent des valeurs spéciales lorsque vous les utilisez avec une barre oblique inverse :
| Personnage |
Unicode |
Décrire |
| \un |
U+0007 |
Alerte ou cloche |
| \b |
U+0008 |
Retour arrière |
| \f |
U+000C |
Données du formulaire |
| \n |
U+000A |
Saut de ligne ou saut de ligne |
| \r |
U+000D |
Retour au début de la ligne |
| \t |
U+0009 |
Onglet horizontal |
| \v |
U+000b |
Onglet vertical |
| \\ |
U+005c |
Barre oblique inverse |
| \' |
U+0027 |
Apostrophe |
| \" |
U+0022 |
Guillemets doubles (valables uniquement dans les chaînes de caractères) |
Par exemple:
//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))
}
Résultat:
Rune 1: B; Unicode: U+0042; Type: int32
Rune 2: g; Unicode: U+0067; Type: int32
Rune 3: Unicode: U+0007; Type: int32
Exemple 2 :
![Comment utiliser Rune dans Golang Comment utiliser Rune dans Golang]()
Résultat:
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