Int64List.view 构造函数

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

在指定的 buffer 区域创建一个 Int64List 视图

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

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

offsetInBytes 必须是 bytesPerElement 的倍数。

请注意,当从 TypedData 列表或字节数据创建视图时,该列表或字节数据本身可能是一个具有大于零的 TypedData.offsetInBytes 的大缓冲区的视图。仅执行 Int64List.view(other.buffer, 0, count) 可能不会指向你想要的位置。相反,你可能需要执行以下操作

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

或者,使用 Int64List.sublistView,它包含此计算

Int64List.sublistView(other, 0, count);

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

实现

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