Comprendre Rune dans Go
Dans Go, une rune est un alias pour int32. Bien que cela puisse sembler déroutant au début, cela répond à un objectif spécifique dans la gestion des caractères Unicode par le langage.
Les littéraux runiques sont essentiellement des valeurs entières de 32 bits représentant les points de code Unicode. Par exemple, « a » est en fait le nombre entier 97. Cela permet la représentation directe des caractères Unicode dans le code et facilite les opérations liées à la manipulation et à la comparaison des caractères.
Pour illustrer, considérons la fonction SwapRune :
func SwapRune(r rune) rune { switch { case 'a' <= r && r <= 'z': return r - 'a' + 'A' case 'A' <= r && r <= 'Z': return r - 'A' + 'a' default: return r } }
Cette fonction permute la casse d'un caractère. L'instruction switch vérifie si le caractère est entre « a » et « z » ou « A » et « Z » et effectue un calcul en conséquence pour effectuer l'échange.
Les opérateurs utilisés dans l'instruction switch peuvent être expliqués comme suit :
Au sein de la fonction SwapCase, le mappage de runes est utilisé :
func SwapCase(str string) string { return strings.Map(SwapRune, str) }
Cette fonction prend une chaîne et applique la Fonction SwapRune pour chaque caractère, échangeant efficacement leur casse et renvoyant la chaîne modifiée.
En résumé, les runes dans Go fournissent une représentation pratique des caractères Unicode sous forme d'entiers, permettant une manipulation et une comparaison efficaces et intuitives des caractères dans le code.
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!