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.