Junior
Se poate modifica un anumit caracter dintr-un șir?
sobes.tech AI
Răspuns de la AI
În Go, șirurile de caractere sunt imuabile. Pentru a modifica un caracter, trebuie să creezi un șir nou. Acest lucru se poate face convertind șirul într-o secțiune de octeți sau rune, modificând elementul necesar și apoi convertind înapoi în șir.
Exemplu cu o secțiune de octeți:
// Șirul original
s := "hello"
// Convertirea în secțiune de octeți
b := []byte(s)
// Modificarea caracterului
b[0] = 'H'
// Convertirea înapoi în șir
newS := string(b)
// newS devine acum "Hello"
Exemplu cu o secțiune de rune (pentru lucrul cu caractere Unicode):
// Șirul original cu caractere Unicode
s := "привет"
// Convertirea în secțiune de rune
r := []rune(s)
// Modificarea caracterului
r[0] = 'П'
// Convertirea înapoi în șir
newS := string(r)
// newS devine acum "Привет"
Utilizarea unei secțiuni de rune este preferabilă pentru a lucra corect cu caractere Unicode multibyte.