Строки неизменяемы, поэтому "на месте" нельзя. Обычно: преобразовать в []rune, изменить элемент, обратно string(runes). Либо собрать новую строку через strings.Builder или срезы: s[:i] + newChar + s[i+width:] (для байтов нужен размер руны).
[]rune
string(runes)
strings.Builder
s[:i] + newChar + s[i+width:]