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.