Как сделать zero-copy конвертацию string в []byte?

Senior
80 просмотров
AFK Offer AI

Через unsafe: *(*[]byte)(unsafe.Pointer(&s)) — но модификация результата UB, потому что строки immutable. Безопасный вариант с Go 1.22: unsafe.Slice(unsafe.StringData(s), len(s)). Опять же — только для чтения. Это экономит аллокацию при передаче string в функции ожидающие []byte (хеширование, сериализация). Но обычно копирование достаточно быстрое.

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

Что такое webhook retry?