TGViewer
Thank Go! Thank Go! @thank_go · 3.32K subscribers
Post #264 3.07K
Грязный make

А хотите по-настоящему злую штуку? В стандартной библиотеке есть функция, которая создает срез байт, не зануляя память:

// 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)
// ...
}


Никогда так не делайте 😈
  • 😱 20
  • ❤ 6
  • 🔥 5
More from @thank_go
  1. Sep 26, 2026Шпаргалка по многозадачности Подготовил интерактивную памятку по многозадачности в Go: — Г…
  2. Sep 2, 2026Множественный разврат возврат Сколько значений можно вернуть из функции через multi-return…
  3. Aug 31, 2026Ошибка ошибка ошибка ошибка Это выражение выглядит странновато, но оно полностью корректно…
  4. Aug 30, 2026Post #280
  5. Aug 25, 2026JSON v2 в Go 1.27 Вторая версия json-пакета впервые появилась как экспериментальная в Go 1…
  6. Aug 12, 2026strings.CutLast Из небольших изменений в Go 1.27 я больше всего рад strings.CutLast. Эта ф…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →