Maison  >  Article  >  développement back-end  >  Comment trouver la longueur d'une chaîne en langage Go

Comment trouver la longueur d'une chaîne en langage Go

藏色散人
藏色散人original
2020-12-29 16:33:225746parcourir

Comment trouver la longueur d'une chaîne en langage Go : 1. Utilisez la fonction "len()" pour calculer la longueur de la chaîne ASCII ; 2. Utilisez la fonction "utf8.RuneCountInString()" pour calculer la chaîne Unicode ; longueur.

Comment trouver la longueur d'une chaîne en langage Go

L'environnement d'exploitation de cet article : système Windows 7, Go version 1.11.2, ordinateur Dell G3.

Tutoriel recommandé : "go langage "

Le langage Go calcule la longueur de la chaîne - len() et RuneCountInString()

La fonction intégrée len() du langage Go peut être utilisée pour obtenir la longueur des tranches, des chaînes, des canaux, etc. Le code suivant peut utiliser len() pour obtenir la longueur d'une chaîne.

tip1 := "genji is a ninja"
fmt.Println(len(tip1))
tip2 := "忍者"
fmt.Println(len(tip2))

Le résultat du programme est le suivant :

16
6

len() Le type de valeur de retour de la fonction len() est int, qui représente le nombre de caractères ASCII ou la longueur en octets de la chaîne. .

Le 16 dans la première ligne de la sortie indique que le nombre de caractères dans tip1 est de 16.

Le 6 dans la deuxième ligne de la sortie indique le format de caractères de tip2, c'est-à-dire que le nombre de caractères pour "ninja" est 6. Cependant, selon la coutume, le nombre de caractères pour "ninja" devrait être 2.

La différence ici est que les chaînes du langage Go sont toutes enregistrées au format UTF-8, et chaque caractère chinois occupe 3 octets, utilisez donc len() pour obtenir les 6 octets correspondant aux deux caractères chinois.

Si vous souhaitez calculer en fonction du nombre habituel de caractères, vous devez utiliser la fonction RuneCountInString() fournie par le package UTF-8 dans le langage Go pour compter le nombre de caractères Uncode.

Le code suivant montre comment calculer le nombre de caractères UTF-8.

fmt.Println(utf8.RuneCountInString("忍者"))
fmt.Println(utf8.RuneCountInString("龙忍出鞘,fight!"))

Le résultat du programme est le suivant :

2
11

Dans les jeux en général, vous devez saisir un nom lors de la connexion, et le nom a généralement une limite de longueur. Étant donné que les Chinois sont habitués à utiliser le chinois comme nom, il est nécessaire de détecter la longueur de la chaîne au format UTF-8.

Résumé

La longueur de la chaîne ASCII utilise la fonction len().

La longueur de la chaîne Unicode utilise la fonction utf8.RuneCountInString().

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!

Déclaration:
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