Junior
Meg lehet változtatni egy adott karaktert egy sztringben?
sobes.tech MI
Válasz az MI-től
Go-ban a sztringek nem módosíthatók. Egy karakter megváltoztatásához új sztringet kell létrehozni. Ez úgy érhető el, hogy a sztringet bájtok vagy rune-ok szeletére konvertáljuk, módosítjuk a szükséges elemet, majd visszakonvertáljuk sztringgé.
Példa bájt szelettel:
// Eredeti sztring
s := "hello"
// Konvertálás bájt szeletté
b := []byte(s)
// Karakter módosítása
b[0] = 'H'
// Visszakonvertálás sztringgé
newS := string(b)
// newS most "Hello" lesz
Példa rune szelettel (Unicode karakterek kezeléséhez):
// Unicode karaktereket tartalmazó eredeti sztring
s := "привет"
// Konvertálás rune szeletté
r := []rune(s)
// Karakter módosítása
r[0] = 'П'
// Visszakonvertálás sztringgé
newS := string(r)
// newS most "Привет" lesz
A rune szelet használata előnyösebb a több bájtos Unicode karakterek helyes kezeléséhez.