Golang Inverse String

Golang Inverse String
En Go, une chaîne est une séquence d'octets UTF-8. Selon la norme de codage UTF-8, les caractères ASCII sont un seul octets. Cependant, d'autres caractères varient entre 1 et 4 octets. En raison de cette incohérence, il est presque impossible d'indexer un caractère spécifique à l'intérieur d'une chaîne.

Si nous voulons indexer un personnage en Go, nous pouvons convertir une chaîne en un tableau ou une rune. Une rune est essentiellement un point Unicode. Un point Unicode fait référence à une valeur numérique représentant un caractère Unicode.

Ce bref article apprendra à inverser une chaîne dans Go By By First la convertir en un tableau de runes.

Chaîne inversée - Rune par rune

Considérez l'exemple du programme ci-dessous:

package principal
importer (
"FMT"
)
func main ()
str: = "bonjour"
rune_arr: = [] rune (str)
var rev [] rune
pour i: = len (rune_arr) - 1; i> = 0; je--
Rev = append (rev, rune_arr [i])

fmt.Println ("Reverse:", String (Rev))

Dans l'exemple ci-dessus, nous commençons par convertir la chaîne «str» en un tableau de rune. Cela nous permet d'indexer des caractères individuels dans la chaîne.

Une fois que nous avons l'index des caractères individuels, nous ajoutons chaque caractère à une nouvelle chaîne à partir de la fin à commencer.

La sortie résultante est la chaîne dans l'ordre inverse, comme:

Inverse: Olleh

Chaîne inversée - octet

Comme mentionné, une chaîne est une séquence d'octets. Par conséquent, nous pouvons créer l'inverse d'une chaîne en inversant chaque octet à la fois.

Prenez l'exemple ci-dessous:

Func Reverse (S String) String
Crises d'octets var.Constructeur
octet.Grandir (len (s))
pour i: = len (s) - 1; i> = 0; je--
octet.WriteByte (s [i])

octet de retour.Chaîne()

L'exemple ci-dessus convertit une chaîne en le renversant octet par octet.

Conclusion

Cet article vous montre comment inverser une chaîne dans le langage de programmation Go.

Continuez à pratiquer!