[]byte в string?Преобразование выполняется явным приведением типа: string(b) для []byte в строку и []byte(s) для строки в байты.
Строки в Go неизменяемы. При string(bytes) создаётся копия данных - исходный слайс и строка не разделяют память. Это O(n) по времени и памяти.
b := []byte{72, 101, 108, 108, 111}
s := string(b) // "Hello"
b[0] = 104 // меняем b
fmt.Println(s) // по-прежнему "Hello"
Большие буферы: повторное преобразование string(buf) каждый раз копирует данные. Для чтения из io.Reader часто используют strings.Builder или накопление в []byte с одним финальным string(buf).
string([]byte) - копия, безопасно сохранять результат[]byte(string) - тоже копияunsafe для zero-copy - только при глубоком понимании рисков