Sobes.tech
Junior
145
questionbank

Можно ли изменить определённый символ в строке?

Ответ от нейросети

sobes.tech AI

В Go строки неизменяемы. Чтобы изменить символ, нужно создать новую строку. Это можно сделать, преобразовав строку в срез байт или рун, изменив нужный элемент, а затем преобразовав обратно в строку.

Пример со срезом байт:

// Исходная строка
s := "hello"

// Преобразуем в срез байт
b := []byte(s)

// Изменяем символ
b[0] = 'H'

// Преобразуем обратно в строку
newS := string(b)

// newS теперь "Hello"

Пример со срезом рун (для работы с символами Unicode):

// Исходная строка с символами Unicode
s := "привет"

// Преобразуем в срез рун
r := []rune(s)

// Изменяем символ
r[0] = 'П'

// Преобразуем обратно в строку
newS := string(r)

// newS теперь "Привет"

Использование среза рун предпочтительнее для корректной работы с многобайтовыми символами Unicode.