check 静态方法

  1. @Since("2.19")
int check(
  1. int index,
  2. int length, {
  3. Object? indexable,
  4. String? name,
  5. String? message,
})

检查index是否是索引对象的有效索引。

如果index不是有效索引,则抛出异常。

索引对象是一种具有length和索引操作符[]的对象,该操作符接受一个索引,如果0 <= index < length

length是索引对象的长度。

如果提供,indexable是索引对象。

name是索引值的参数名称。默认为"index",如果无效索引不是参数,则可以设置为null以从错误字符串中省略名称。

如果提供,message包含在错误字符串中。

如果它是有效索引,则返回index

实现

@Since("2.19")
static int check(int index, int length,
    {Object? indexable, String? name, String? message}) {
  // Comparing with `0` as receiver produces better dart2js type inference.
  if (0 > index || index >= length) {
    name ??= "index";
    throw IndexError.withLength(index, length,
        indexable: indexable, name: name, message: message);
  }
  return index;
}