Uint64List.view 构造函数

Uint64List.view(
  1. ByteBuffer buffer,
  2. [int offsetInBytes = 0,
  3. int? length]
)

创建一个指定字节数据块中指定区域的 Uint64List 视图

Uint64List 中的更改将反映在字节数据块中,反之亦然。如果未指定区域内的 offsetInBytes 索引,它将默认为零(字节数据块中的第一个字节)。如果未提供长度,视图将扩展到字节数据块的末尾。

必须非负的 offsetInByteslength,且 offsetInBytes + (length * bytesPerElement) 必须小于或等于 buffer 的长度。

offsetInBytes 必须是 bytesPerElement 的倍数。

注意,从 TypedData 列表或字节数据创建视图时,该列表或字节数据本身就是对一个较大的缓冲区的视图,且 TypedData.offsetInBytes 大于零。仅执行 Uint64List.view(other.buffer, 0, count) 可能不会指向你想要指向的字节。相反,你可能需要执行

Uint64List.view(other.buffer, other.offsetInBytes, count)

或者,使用 Uint64List.sublistView,这包括此计算

Uint64List.sublistView(other, 0, count);

(第三个参数是结束索引而不是长度,因此如果你从大于零的位置开始,你不需要相应地减少计数)。

实现

factory Uint64List.view(ByteBuffer buffer,
    [int offsetInBytes = 0, int? length]) {
  return buffer.asUint64List(offsetInBytes, length);
}