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

  1. Przekształcić łańcuch w tablicę run ([]rune).
  2. Zmienić element w tablicy.
  3. 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"