Sobes.tech
Junior

Je možné zmeniť určitý znak v reťazci?

sobes.tech AI

Odpoveď od AI

V Go sú reťazce nemenné. Ak chcete zmeniť znak, musíte vytvoriť nový reťazec. Toho dosiahnete prevedením reťazca na rez bajtov alebo rune, úpravou požadovaného prvku a následným prevedením späť na reťazec.

Príklad s rezom bajtov:

// Pôvodný reťazec
s := "hello"

// Prevod na rez bajtov
b := []byte(s)

// Zmena znaku
b[0] = 'H'

// Opätovný prevod na reťazec
newS := string(b)

// newS je teraz "Hello"

Príklad s rezom rune (pre prácu s Unicode znakmi):

// Pôvodný reťazec s Unicode znakmi
s := "привет"

// Prevod na rez rune
r := []rune(s)

// Zmena znaku
r[0] = 'П'

// Opätovný prevod na reťazec
newS := string(r)

// newS je teraz "Привет"

Použitie rezu rune je vhodnejšie pre správnu prácu s viacbajtovými Unicode znakmi.