s[0] = 'A'?Нет. Строки в Go иммутабельны. Нельзя изменить отдельный байт или символ: s[0] = 'A' приведёт к ошибке компиляции. Чтобы изменить строку, нужно создать новую: преобразовать в []byte или []rune, изменить и снова собрать строку.
s := "hello"
// s[0] = 'H' // ошибка компиляции
b := []byte(s)
b[0] = 'H'
s = string(b) // "Hello"