Skip to content

Unsafe

Зачем нужна библиотека:

  1. Можно повысить производительность приложения
  2. Работа с ОС
  3. Работа с кодом из C

Библиотека позволяет обращаться напрямую к участку памяти. Так как это прямое обращение к участку памяти, мы не знаем каких типов данные там хранятся.

Но данные можно достать, привести к определенному типу и получить значения.

  • unsafe.Pointer
  • unsafe.Sizeof
  • unsafe.Offsetof
  • unitptr - числовое представление указателя, для операций с указателями. Не нужно хранить это значение, чтобы не почистил GC

Что надо запомнить:

  1. Приведение unitptr и обратно в unsafe.Pointer должно быть выполнено одной строкой, при этом допускаются только арифметические операции