Junior
Je možné zmeniť určitý znak v reťazci?
sobes.tech AI
Odpoveď od AI
Reťazce v Go sú nemenné. Nie je možné priamo zmeniť jednotlivý znak v existujúcom reťazci.
Ak chcete získať upravený reťazec, musíte vytvoriť nový:
- Preveďte reťazec na pole rune (
[]rune). - Zmeňte prvok v poli.
- Preveďte pole rune späť na reťazec.
// s - pôvodný reťazec
s := "hello"
// Prevod reťazca na []rune
r := []rune(s)
// Zmena runy na indexe
r[0] = 'ц' // Nahradenie 'h' znakom 'ц'
// Prevod späť na reťazec
newString := string(r)
// newString bude "цеllo"
Alternatívne, menej flexibilná, ale v jednoduchých prípadoch možná metóda je spojovanie reťazcov.
// s - pôvodný reťazec
s := "hello"
// Vytvorenie nového reťazca spojením podreťazcov a požadovaného znaku
newString := string(s[0]) + "ц" + s[2:] // Príklad: zmena druhého znaku
// newString bude "hцllo"