Golang omvendt streng

Golang omvendt streng
I Go er en streng en sekvens av UTF-8 byte. I henhold til UTF-8-kodingsstandarden er ASCII-tegn en-byte. Imidlertid varierer andre tegn mellom 1 og 4 byte. På grunn av denne inkonsekvensen er det nesten umulig å indeksere et spesifikt tegn i en streng.

Hvis vi ønsker å indeksere et tegn i Go, kan vi konvertere en streng til en matrise eller rune. En rune er i utgangspunktet et unicode -punkt. Et Unicode -punkt refererer til en numerisk verdi som representerer en Unicode -karakter.

Denne korte artikkelen vil lære hvordan du kan snu en streng i Go ved å først konvertere den til en rekke runes.

Omvendt streng - rune av rune

Tenk på eksempelprogrammet nedenfor:

pakkehoved
import (
"FMT"
)
func main ()
Str: = "Hei"
rune_arr: = [] rune (str)
var Rev [] rune
for i: = len (rune_arr) - 1; i> = 0; Jeg--
Rev = vedlegg (Rev, rune_arr [i])

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

I eksemplet over starter vi med å konvertere strengen “STR” til en rekke rune. Hvis vi gjør det, kan vi indeksere individuelle tegn i strengen.

Når vi har indeksen over individuelle karakterer, legger vi hvert tegn til en ny streng fra slutten til å starte.

Den resulterende utgangen er strengen i omvendt rekkefølge, som:

Omvendt: Olleh

Omvendt streng - byte

Som nevnt er en streng en sekvens av byte. Derfor kan vi lage motsatt av en streng ved å reversere hver byte om gangen.

Ta eksemplet nedenfor:

func reverse (s streng) streng
var by -strenger.Bygger
byte.Grow (Len (S))
for i: = len (S) - 1; i> = 0; Jeg--
byte.WritByte (S [i])

Return byte.Streng ()

Eksemplet ovenfor konverterer en streng ved å reversere den byte av byte.

Konklusjon

Denne artikkelen viser deg hvordan du kan snu en streng i Go -programmeringsspråket.

Fortsett å øve!