Maison > développement back-end > Golang > Existe-t-il un type de caractère dans le langage Go ?

Existe-t-il un type de caractère dans le langage Go ?

青灯夜游
Libérer: 2023-01-13 00:22:05
original
2087 Les gens l'ont consulté

Il existe deux types de caractères dans le langage go : 1. le type octet, également appelé type uint8, qui représente un caractère de code ASCII ; 2. le type rune, qui représente un caractère UTF-8 lorsque vous en avez besoin. pour traiter le chinois, pour le japonais ou d'autres caractères composés, vous devez utiliser le type rune. Le type rune est équivalent au type int32.

Existe-t-il un type de caractère dans le langage Go ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, GO 1.11.2, ordinateur Dell G3.

Chaque élément de la chaîne est appelé un « caractère » et les caractères peuvent être obtenus lors du parcours ou de l'obtention d'éléments de chaîne individuels.

Il existe deux types de caractères dans le langage Go :

  • L'un est le type uint8, ou type octet, qui représente le code ASCII d'un caractère .

  • L'autre est le type rune, qui représente un caractère UTF-8. Lorsque vous devez traiter des caractères chinois, japonais ou autres caractères composés, vous devez utiliser le type rune. Le type rune est équivalent au type int32.

Le type d'octet est un alias de uint8. Il n'y a aucun problème pour les caractères codés ASCII traditionnels qui n'occupent qu'un octet. Par exemple, var ch byte = 'A', le. le caractère utilise des guillemets simples.

Dans la table de codes ASCII, la valeur de A est 65, et en notation hexadécimale elle est 41, donc l'écriture suivante est équivalente :

var ch byte = 65 或 var ch byte = '\x41'      //(\x 总是紧跟着长度为 2 的 16 进制数)
Copier après la connexion

Une autre écriture possible est Elle est suivie d'un nombre octal de longueur 3, tel que 377.

Le langage Go prend également en charge Unicode (UTF-8), donc les caractères sont également appelés points de code Unicode ou runes, et sont représentés par int en mémoire. Dans les documents, le format U+hhhh est généralement utilisé, où h représente un nombre hexadécimal.

Lors de l'écriture de caractères Unicode, vous devez ajouter le préfixe u ou U avant le nombre hexadécimal. Étant donné qu'Unicode occupe au moins 2 octets, nous utilisons le type int16 ou int pour le représenter. Si vous devez utiliser 4 octets, utilisez le préfixe u. Si vous devez utiliser 8 octets, utilisez le préfixe U.

var ch int = '\u0041'
var ch2 int = '\u03B2'
var ch3 int = '\U00101234'
fmt.Printf("%d - %d - %d\n", ch, ch2, ch3) // integer
fmt.Printf("%c - %c - %c\n", ch, ch2, ch3) // character
fmt.Printf("%X - %X - %X\n", ch, ch2, ch3) // UTF-8 bytes
fmt.Printf("%U - %U - %U", ch, ch2, ch3)   // UTF-8 code point
Copier après la connexion

Sortie :

65 - 946 - 1053236
A - β - r
41 - 3B2 - 101234
U+0041 - U+03B2 - U+101234
Copier après la connexion

Le spécificateur de format %c est utilisé pour représenter les caractères. Lorsqu'il est utilisé avec des caractères, %v ou %d affichera l'entier utilisé pour représenter le caractère, % U sort. une chaîne au format U+hhhh.

Le package Unicode possède des fonctions intégrées pour tester les caractères. La valeur de retour de ces fonctions est une valeur booléenne, comme indiqué ci-dessous (où ch représente le caractère) :

  • Jugez si c'est une lettre : unicode.IsLetter(ch)

  • Jugez si c'est un nombre : unicode.IsDigit(ch)

  • Jugez s'il s'agit d'un nombre Pour les symboles d'espaces blancs : unicode.IsSpace(ch)

Apprentissage recommandé : Tutoriel Golang

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal