Junior
Czy można zmienić określony znak w ciągu?
sobes.tech AI
Odpowiedź od AI
Łańcuchy w Go są niezmiennicze. Nie można bezpośrednio zmienić pojedynczego znaku w istniejącym łańcuchu.
Aby uzyskać zmieniony łańcuch, należy utworzyć nowy:
- Przekształcić łańcuch w tablicę run (
[]rune). - Zmienić element w tablicy.
- Przekształcić tablicę run z powrotem w łańcuch.
// s - łańcuch źródłowy
s := "hello"
// Przekształć łańcuch w []rune
r := []rune(s)
// Zmień runę na indeksie
r[0] = 'ц' // Zamień 'h' na 'ц'
// Przekształć z powrotem w łańcuch
newString := string(r)
// newString będzie "цеllo"
Alternatywnie, mniej elastyczna, ale możliwa w prostych przypadkach, jest konkatenacja łańcuchów.
// s - łańcuch źródłowy
s := "hello"
// Utwórz nowy łańcuch, łącząc podłańcuchy i potrzebny znak
newString := string(s[0]) + "ц" + s[2:] // Przykład: zmiana drugiego znaku
// newString będzie "hцllo"