last 属性

int last
override

最后一个元素。

如果 this 为空,将抛出 StateError 异常。否则,可能会遍历元素并返回最后一个看到的一个。某些可迭代对象可能有更有效的方法来查找最后一个元素(例如,列表可以直接访问最后一个元素,而不必遍历前面的元素)。

实现

int get last {
  if (string.length == 0) {
    throw StateError('No elements.');
  }
  int length = string.length;
  int code = string.codeUnitAt(length - 1);
  if (_isTrailSurrogate(code) && string.length > 1) {
    int previousCode = string.codeUnitAt(length - 2);
    if (_isLeadSurrogate(previousCode)) {
      return _combineSurrogatePair(previousCode, code);
    }
  }
  return code;
}