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