Junior
Lze změnit určitý znak v řetězci?
sobes.tech AI
Odpověď od AI
Řetězce v Go jsou neměnné. Nelze přímo změnit jednotlivý znak v existujícím řetězci.
Chcete-li získat upravený řetězec, musíte vytvořit nový:
- Převést řetězec na pole rune (
[]rune). - Změnit prvek v poli.
- Převést pole rune zpět na řetězec.
// s - původní řetězec
s := "hello"
// Převod řetězce na []rune
r := []rune(s)
// Změna runy na indexu
r[0] = 'ц' // Nahrazení 'h' znakem 'ц'
// Převod zpět na řetězec
newString := string(r)
// newString bude "цеllo"
Alternativní, méně flexibilní, ale v jednoduchých případech použitelná metoda je spojování řetězců.
// s - původní řetězec
s := "hello"
// Vytvoření nového řetězce spojením podřetězců a požadovaného znaku
newString := string(s[0]) + "ц" + s[2:] // Příklad: změna druhého znaku
// newString bude "hцllo"