Junior
Може ли да се промени определен символ в низ?
sobes.tech AI
Отговор от AI
Стрингът в Go е неизменяем. Не може директно да се промени отделен символ в съществуващ стринг.
За да получите променен стринг, трябва да създадете нов:
- Преобразувайте стринга в срез от руни (
[]rune). - Променете елемента в среза.
- Преобразувайте среза от руни обратно в стринг.
// s - оригинален стринг
s := "hello"
// Преобразуване на стринга в []rune
r := []rune(s)
// Промяна на руна на индекс
r[0] = 'ц' // Замяна на 'h' с 'ц'
// Преобразуване обратно в стринг
newString := string(r)
// newString ще бъде "цеllo"
Алтернативен, по-малко гъвкав, но възможен за прости случаи, е конкатенацията на стрингове.
// s - оригинален стринг
s := "hello"
// Създаване на нов стринг чрез съединяване на подстрингове и необходимия символ
newString := string(s[0]) + "ц" + s[2:] // Пример: смяна на втория символ
// newString ще бъде "hцllo"