Junior
Lze změnit určitý znak v řetězci?
sobes.tech AI
Odpověď od AI
V Go jsou řetězce neměnné. Chcete-li změnit znak, musíte vytvořit nový řetězec. To lze provést převedením řetězce na řez bajtů nebo rune, změnou požadovaného prvku a poté zpětným převodem na řetězec.
Příklad s řezem bajtů:
// Původní řetězec
s := "hello"
// Převod na řez bajtů
b := []byte(s)
// Změna znaku
b[0] = 'H'
// Opětovný převod na řetězec
newS := string(b)
// newS je nyní "Hello"
Příklad s řezem rune (pro práci s Unicode znaky):
// Původní řetězec s Unicode znaky
s := "привет"
// Převod na řez rune
r := []rune(s)
// Změna znaku
r[0] = 'П'
// Opětovný převod na řetězec
newS := string(r)
// newS je nyní "Привет"
Použití řezu rune je vhodnější pro správnou práci s vícejazyčnými Unicode znaky.