Что выведет: s := "hello"; b := []byte(s); b[0] = 'H'; fmt.Println(s)?

Middle
140 просмотров
AFK Offer AI

Выведет "hello" — строка не изменится. В Go строки immutable. []byte(s) создаёт копию данных. Модификация b не влияет на s. Это гарантия безопасности: можно передавать строки между горутинами без лока. Если нужно "мутабельная строка" — работай с []byte и конвертируй в string в конце.

Следующий вопрос

Как ты документируешь свой код и решения?