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