Sobes.tech
Junior

É possível alterar um caractere específico numa string?

sobes.tech IA

Resposta da IA

As cadeias em Go são imutáveis. Não é possível modificar diretamente um carácter individual numa cadeia existente.

Para obter uma cadeia modificada, deve criar uma nova:

  1. Converter a cadeia numa fatia de runas ([]rune).
  2. Alterar o elemento na fatia.
  3. Converter a fatia de runas de volta para uma cadeia.
// s - cadeia original
s := "hello"

// Converter a cadeia para []rune
r := []rune(s)

// Alterar a runa no índice
r[0] = 'ц' // Substituir 'h' por 'ц'

// Converter de volta para cadeia
newString := string(r)

// newString será "цеllo"

Outra forma, menos flexível mas possível em casos simples, é a concatenação de cadeias.

// s - cadeia original
s := "hello"

// Criar uma nova cadeia concatenando subcadeias e o carácter necessário
newString := string(s[0]) + "ц" + s[2:] // Exemplo: alterar o segundo carácter

// newString será "hцllo"