Sobes.tech
Junior

Може ли да се промени определен символ в низ?

sobes.tech AI

Отговор от AI

Стрингът в Go е неизменяем. Не може директно да се промени отделен символ в съществуващ стринг.

За да получите променен стринг, трябва да създадете нов:

  1. Преобразувайте стринга в срез от руни ([]rune).
  2. Променете елемента в среза.
  3. Преобразувайте среза от руни обратно в стринг.
// 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"