Sobes.tech
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.