Golang String reversa

Golang String reversa
Em Go, uma string é uma sequência de bytes UTF-8. De acordo com o padrão de codificação UTF-8, os caracteres ASCII são um byte único. No entanto, outros personagens variam entre 1 e 4 bytes. Devido a essa inconsistência, é quase impossível indexar um caractere específico dentro de uma string.

Se queremos indexar um personagem em Go, podemos converter uma string em uma matriz ou runa. Uma runa é basicamente um ponto de unicode. Um ponto de unicode refere -se a um valor numérico representando um caractere unicode.

Este breve artigo aprenderá a reverter uma string in go, convertendo -a primeiro em uma variedade de runas.

String reversa - Rune by Rune

Considere o programa de exemplo abaixo:

Pacote principal
importação (
"FMT"
)
func main ()
STR: = "Olá"
rune_arr: = [] rune (str)
var rev [] rune
para i: = len (rune_arr) - 1; i> = 0; eu--
Rev = Anexe (Rev, Rune_arr [i])

fmt.Println ("reverse:", string (rev))

No exemplo acima, começamos convertendo a string "str" ​​em uma variedade de runas. Fazer isso nos permite indexar caracteres individuais na string.

Depois de termos o índice de caracteres individuais, anexamos cada personagem a uma nova string a partir do final para iniciar.

A saída resultante é a string em ordem inversa, pois:

Reverso: olleh

String reversa - byte

Como mencionado, uma string é uma sequência de bytes. Portanto, podemos criar o inverso de uma string revertendo cada byte.

Veja o exemplo abaixo:

Func reverse (string s) string
Strings de byte var.Construtor
byte.Grow (Len (s))
para i: = len (s) - 1; i> = 0; eu--
byte.WriteByte (S [i])

retornar byte.Corda()

O exemplo acima converte uma string revertendo -a byte byte.

Conclusão

Este artigo mostra como reverter uma string na linguagem de programação Go.

Continue praticando!