Sobes.tech
Junior

Czy można zmienić określony znak w ciągu?

sobes.tech AI

Odpowiedź od AI

W Go ciągi znaków są niezmiennicze. Aby zmienić znak, musisz utworzyć nowy ciąg. Można to zrobić, konwertując ciąg na tablicę bajtów lub rune, modyfikując potrzebny element, a następnie konwertując z powrotem na ciąg.

Przykład z tablicą bajtów:

// Ciąg źródłowy
s := "hello"

// Konwersja na tablicę bajtów
b := []byte(s)

// Zmiana znaku
b[0] = 'H'

// Konwersja z powrotem na ciąg
newS := string(b)

// newS teraz jest "Hello"

Przykład z tablicą rune (do obsługi znaków Unicode):

// Ciąg źródłowy z znakami Unicode
s := "привет"

// Konwersja na tablicę rune
r := []rune(s)

// Zmiana znaku
r[0] = 'П'

// Konwersja z powrotem na ciąg
newS := string(r)

// newS teraz jest "Привет"

Użycie tablicy rune jest preferowane do poprawnej obsługi wielobajtowych znaków Unicode.