А хотите по-настоящему злую штуку? В стандартной библиотеке есть функция, которая создает срез байт, не зануляя память:
// MakeNoZero makes a slice of length n
// and capacity of at least n bytes
// without zeroing the bytes.
// It is the caller's responsibility
// to ensure uninitialized bytes
// do not leak to the end user.
func MakeNoZero(n int) []byte
Функция находится в пакете internal/bytealg, так что напрямую ее не вызвать. Но через go:linkname — можно:
//go:linkname makeNoZero internal/bytealg.MakeNoZero
func makeNoZero(n int) []byte
func main() {
data := makeNoZero(10)
// ...
}
Никогда так не делайте 😈