贴图 mmap syscall的接口可提供对内存的安全有效访问。 *mmap.File满足io.ReaderAt和io.WriterAt接口。 仅适用于darwin OS,Linux和Little Endian 64位体系结构。 安全与效率 Golang mmap syscall函数将映射的内存公开为字节数组。 如果即使在未映射内存区域后仍引用该数组,则可能导致分段错误。 mmap package通过提供ReadAt和WriteAt函数提供对字节数组的安全访问。 WriteAt函数将切片复制到内存映射的区域中,而ReadAt函数将数据从内存映射区域复制到给定的切片,因此,避免暴露引用映射内存的字节数组。 这也避免了任何额外的数据复制,从而提供了对内存映射区域的有效访问。 我们还添加了诸如WriteUint64At , ReadUint64At函数,这些函数可以直接将mmaped内存