Нет. Строки в Go неизменяемы (immutable). Выражение s[0] = 'a' не скомпилируется. Для изменения нужно создать новую строку: сконвертировать в []byte (для байтовых операций) или в []rune (для символов Unicode), изменить срез и сконвертировать обратно в string.
s := "hello"
// s[0] = 'H' // ошибка компиляции
b := []byte(s)
b[0] = 'H'
s = string(b) // "Hello"
// Для Unicode-символов:
rs := []rune("Привет")
rs[0] = 'П'
s = string(rs)
Иммутабельность позволяет безопасно передавать строки между горутинами и использовать их как ключи map без копирования.