Преобразуйте string в []byte:
func toBytes(s string) []byte {
return []byte(s) // What happens here?
}
Насколько велика эта операция литья? Выполняется ли копирование? Насколько я вижу в спецификации Go: Строки ведут себя как кусочки байтов, но неизменяемы, это должно включать, по крайней мере, копирование, чтобы убедиться, что последующие операции среза не изменят нашу строку s. Что происходит с обратным разговором? Разве разговор []byte <-> string включает кодирование/декодирование, например utf8 ↔ runes?