Maison >développement back-end >Golang >Que sont les runes et en quoi diffèrent-elles des octets en Go ?
Qu'est-ce qu'une Rune dans Go ?
Go utilise le terme « rune » comme alias pour le type de données entier int32. C'est un peu déroutant car les entiers ne sont généralement pas utilisés pour représenter des caractères. Cependant, dans Go, les runes jouent un rôle important dans la manipulation des personnages.
Les littéraux runiques
Les littéraux runiques dans Go sont représentés en plaçant un seul caractère entre guillemets simples, tels que comme « a » ou « z ». Ces littéraux représentent en réalité des points de code Unicode. Par exemple, « a » correspond au point de code 97.
Manipulation de caractères basée sur les runes
La fonction SwapRune fournie prend une rune en entrée et permute sa casse. Il utilise une instruction switch pour gérer deux cas : la conversion des caractères minuscules en majuscules et vice versa.
Les conditions de l'instruction switch, telles que 'a' <= r && r <= 'z', comparez la valeur de la rune aux points de code Unicode pour « a » et « z ». Si la rune se situe dans cette plage, elle est considérée comme un caractère minuscule et son point de code est ajusté en conséquence pour produire la version majuscule.
Manipulation des runes et des chaînes
Le SwapCase La fonction démontre l'utilisation de runes dans la manipulation de chaînes. Il utilise la fonction strings.Map pour appliquer la fonction SwapRune à chaque rune de la chaîne d'entrée, en échangeant efficacement la casse de tous les caractères.
Octet contre Rune
Alors que les runes sont utilisées pour représenter les points de code Unicode, les octets représentent des octets individuels dans une séquence d'octets. En ASCII, où chaque caractère est représenté par un seul octet, les runes et les octets sont interchangeables. Cependant, en Unicode, qui prend en charge une plus large gamme de caractères, un seul caractère Unicode peut être codé sur plusieurs octets. Dans ces situations, les runes fournissent une représentation plus précise des caractères que les octets.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!