Что происходит при преобразовании string в []byte?

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

Преобразование []byte(s) создаёт копию данных строки в новый slice. Это потому что строки immutable, а slice — нет. Копирование гарантирует что модификация slice не изменит строку. Компилятор оптимизирует некоторые случаи: например, []byte(s) в range не копирует, и string(b) для map lookup тоже. Но в общем случае — аллокация и копирование.

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

Что выведет: for i := 0; i < 3; i++ { go func() { fmt.Println(i) }() }?