Une compréhension plus approfondie
Les runes sont des alias pour le type de données int32 dans Go, représentant les points de code Unicode . Cela signifie que chaque caractère d'une chaîne est représenté en interne par un entier de 32 bits. Bien que cela puisse sembler inhabituel au début, cela offre plusieurs avantages pour la programmation Go.
Rune Swapping
La fonction SwapRune fournie convertit les runes entre majuscules et minuscules. Il utilise une série de cas de commutation pour comparer la rune à des valeurs entières spécifiques, qui correspondent aux points de code Unicode pour « a », « z », « A » et « Z ». Sur la base de la comparaison, il applique une opération mathématique pour modifier la rune, en ajoutant ou en soustrayant 32 pour changer sa casse.
Fonctions internes de SwapRune
Runes dans les opérations de chaîne
La fonction SwapCase utilise la fonction strconv.Map pour appliquer la transformation SwapRune à chaque caractère d'une chaîne. Cela permet une modification efficace de la casse de la chaîne tout en conservant l'encodage UTF-8.
Explication simplifiée
Considérez le code suivant utilisant des entiers explicites :
func SwapRune(r rune) rune { switch { case 97 <= r && r <= 122: return r - 32 case 65 <= r && r <= 90: return r + 32 default: return r } }
Ici, le code compare la rune directement aux valeurs entières représentant les points de code Unicode, indiquant clairement comment le la conversion des majuscules et des minuscules est obtenue par manipulation mathématique.
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!