Библиотека dart:core
Встроенные типы, коллекции и другие основные функциональные возможности для каждой программы Dart.
Эта библиотека импортируется автоматически.
Некоторые классы в этой библиотеке, такие как String и num, поддерживают встроенные типы данных Dart. Другие классы, такие как List и Map, предоставляют структуры данных для управления коллекциями объектов. И ещё другие классы представляют собой часто используемые типы данных, такие как URI, даты и время, и ошибки.
Числа и булевы значения
int и double обеспечивают поддержку встроенных числовых типов данных Dart: целые числа и числа с двойной точностью с плавающей запятой соответственно. Объект типа bool равен либо true, либо false. Переменные этих типов могут быть созданы из литералов:
int meaningOfLife = 42; double valueOfPi = 3.141592; bool visible = true;
Строки и регулярные выражения
A String является неизменяемым и представляет собой последовательность символов.
String shakespeareQuote = "All the world's a stage, ...";
StringBuffer предоставляет способ эффективного построения строк.
var moreShakespeare = StringBuffer();
moreShakespeare.write('And all the men and women ');
moreShakespeare.write('merely players; ...'); Классы String и StringBuffer реализуют разделение строк, конкатенацию и другие функции обработки строк.
bool isPalindrome(String text) => text == text.split('').reversed.join(); RegExp реализует регулярные выражения Dart, которые предоставляют грамматику для сопоставления шаблонов в тексте. Например, вот регулярное выражение, которое соответствует подстроке, содержащей один или несколько цифр:
var numbers = RegExp(r'\d+');
Регулярные выражения Dart имеют такой же синтаксис и семантику, как и регулярные выражения JavaScript. См. ecma-international.org/ecma-262/5.1/#sec-15.10 для спецификации регулярных выражений JavaScript.
Коллекции
Библиотека dart:core предоставляет основные коллекции, такие как List, Map и Set.
List — это упорядоченная коллекция объектов с длиной. Иногда списки называют массивами. Используйте List, когда вам нужно получить доступ к объектам по индексу.
var superheroes = ['Batman', 'Superman', 'Harry Potter'];
Set — это неупорядоченная коллекция уникальных объектов. Вы не можете эффективно получить элемент по индексу (позиции). Добавление элемента, который уже есть в наборе, не имеет эффекта.
var villains = {'Joker'};
print(villains.length); // 1
villains.addAll(['Joker', 'Lex Luthor', 'Voldemort']);
print(villains.length); // 3 Map — это неупорядоченная коллекция пар ключ-значение, где каждый ключ может встречаться только один раз. Карты иногда называют ассоциативными массивами, потому что карты связывают ключ с некоторым значением для лёгкого получения. Используйте Map, когда вам нужно получить доступ к объектам по уникальному идентификатору.
var sidekicks = {'Batman': 'Robin',
'Superman': 'Lois Lane',
'Harry Potter': 'Ron and Hermione'}; В дополнение к этим классам, dart:core содержит Iterable, интерфейс, который определяет общие функциональные возможности в коллекциях объектов. Примеры включают возможность выполнения функции для каждого элемента в коллекции, применения теста к каждому элементу, получения объекта и определения количества элементов.
Iterable реализуется классами List и Set, и используется классом Map для его ключей и значений.
Для других видов коллекций обратитесь к библиотеке dart:collection.
Дата и время
Используйте DateTime для представления момента времени и Duration для представления временного промежутка.
Вы можете создавать объекты DateTime с конструкторами или путём парсинга правильно отформатированной строки.
var now = DateTime.now();
var berlinWallFell = DateTime(1989, 11, 9);
var moonLanding = DateTime.parse("1969-07-20"); Создайте объект Duration, указав отдельные единицы времени.
var timeRemaining = const Duration(hours: 56, minutes: 14);
В дополнение к DateTime и Duration, dart:core содержит класс Stopwatch для измерения прошедшего времени.
Uri
Объект Uri представляет собой унифицированный идентификатор ресурса, который идентифицирует ресурс, например, в веб.
var dartlang = Uri.parse('http://dartlang.org/'); Ошибки
Класс Error представляет собой возникновение ошибки во время выполнения. Подклассы этого класса представляют собой специфические виды ошибок.
Другие документы
Дополнительную информацию о том, как использовать встроенные типы, см. в разделе Встроенные типы в Обзор языка Dart.
Также см. dart:core - числа, коллекции, строки и многое другое для более подробного изучения типов в этой библиотеке.
Спецификация языка Dart предоставляет технические подробности.
Классы
- BidirectionalIterator<
E> - Итератор Iterator, который позволяет перемещаться как вперёд, так и назад.
- BigInt
- Целое число произвольной величины.
- bool
- Зарезервированные слова
trueиfalseобозначают объекты, которые являются единственными двумя экземплярами этого класса. - Comparable<
T> - Интерфейс, используемый типами, которые имеют внутреннее упорядочение.
- DateTime
- Момент времени, например, 20 июля 1969 года, 20:18 по Гринвичу.
- Deprecated
- Аннотация
@Deprecated('migration')помечает функцию как устаревшую. - double
- Число с двойной точностью с плавающей запятой.
- Duration
- Продолжительность времени, например, 27 дней, 4 часа, 12 минут и 3 секунды.
- Enum
- Перечисление.
- Expando<
T extends Object> - Expando позволяет добавлять новые свойства к объектам.
- Finalizer<
T> - Финализатор, который может быть прикреплён к объектам Dart.
- Function
- Базовый класс для всех типов функций.
- Future<
T> - Результат асинхронного вычисления.
- int
- Целое число.
- Invocation
- Представление вызова члена объекта.
- Iterable<
E> - Коллекция значений или «элементов», к которым можно получить последовательный доступ.
- Iterator<
E> - Интерфейс для получения элементов по одному за раз из объекта.
- List<
E> - Индексируемая коллекция объектов с длиной.
- Map<
K, V> - Коллекция пар ключ/значение, из которой вы извлекаете значение, используя связанный ключ.
- MapEntry<
K, V> - Пара ключ/значение, представляющая запись в Map.
- Match
- Результат поиска в строке.
- Null
- Зарезервированное слово
nullобозначает объект, который является единственным экземпляром этого класса. - num
- Целое или число с плавающей запятой.
- Object
- Базовый класс для всех объектов Dart, за исключением
null. - Pattern
- Интерфейс для основных поисков в строках.
- pragma
- Подсказка для инструментов.
- Provisional
- Класс аннотации, который использовался во время разработки Dart 2.
- RegExp
- Шаблон регулярного выражения.
- RegExpMatch
- Сопоставление регулярного выражения.
- RuneIterator
- Итератор Iterator для чтения рун (целых кодовых точек Юникода) строки Dart.
- Runes
- Рун (целых кодовых точек Юникода) String.
- Set<
E> - Коллекция объектов, в которой каждый объект может встречаться только один раз.
- Sink<
T> - Общее место назначения для данных.
- StackTrace
- Интерфейс, реализуемый всеми объектами трассировки стека.
- Stopwatch
- Секундомер для измерения времени.
- Stream<
T> - Источник асинхронных событий данных.
- String
- Последовательность единиц кода UTF-16.
- StringBuffer
- Класс для эффективного конкатенации строк.
- StringSink
- Symbol
- Непрозрачное имя, используемое зеркалами, вызовами и Function.apply.
- Type
- Представление типа во время выполнения.
- Uri
- Разложенный URI, такой как URL.
- UriData
- Способ доступа к структуре
data:URI. - WeakReference<
T extends Object> - Слабая ссылка на объект Dart.
Расширения
- EnumByName
- Доступ к значениям перечисления по имени.
- EnumName
- Доступ к имени значения перечисления.
- FutureExtensions
- Удобные методы для объектов Future.
Константы
- deprecated → const Deprecated
- Помечает функцию как устаревшую до следующего выпуска.
Deprecated("next release") - override → const Object
- Аннотация для элементов экземпляра, которые переопределяют член интерфейса.
_Override() - provisional → const Null
- Аннотация, используемая во время разработки Dart 2.
null - proxy → const Null
- Эта аннотация использовалась в Dart до версии 2.
null
Функции
- identical(
Object? a, Object? b) → bool - Проверяет, ссылаются ли две ссылки на один и тот же объект.
- identityHashCode(
Object? object) → int - Код идентичности объекта
object. - print(
Object? object) → void - Выводит строковое представление объекта в консоль.
Псевдонимы типов
- Comparator<
T> = int Function(T a, T b) - Подпись универсальной функции сравнения.
Исключения / Ошибки
- AbstractClassInstantiationError
- Ошибка, выбрасываемая при попытке создания экземпляра абстрактного класса.
- ArgumentError
- Ошибка, выбрасываемая, когда функция получает недопустимый аргумент.
- AssertionError
- Ошибка, выбрасываемая системой выполнения, когда терпит неудачу оператор assert.
- CastError
- Ошибка, выбрасываемая системой выполнения, когда операция приведения типа терпит неудачу.
- ConcurrentModificationError
- Ошибка, возникающая при изменении коллекции во время итерации.
- CyclicInitializationError
- Ошибка, выбрасываемая, когда нельзя инициализировать лениво инициализируемую переменную.
- Error
- Объекты ошибок, выбрасываемые в случае сбоя программы.
- Exception
- Маркерный интерфейс, реализуемый всеми исключениями из стандартной библиотеки.
- FallThroughError
- Ошибка, выбрасываемая, когда управление достигает конца оператора switch.
- FormatException
- Исключение, выбрасываемое, когда строка или какие-либо другие данные не имеют ожидаемого формата и не могут быть обработаны.
- IndexError
- Специализированная RangeError, используемая, когда индекс не находится в пределах
0..indexable.length-1. - IntegerDivisionByZeroException
- NoSuchMethodError
- Ошибка, выбрасываемая стандартной реализацией
noSuchMethodдля Object. - NullThrownError
- Ошибка, выбрасываемая при попытке выбросить
null. - OutOfMemoryError
- Ошибка, которая может быть использована платформой в случае недостатка памяти.
- RangeError
- Ошибка, выбрасываемая из-за того, что значение находится вне допустимого диапазона.
- StackOverflowError
- Ошибка, которую платформа может использовать в случае переполнения стека.
- StateError
- Операция не допускается текущим состоянием объекта.
- TypeError
- Ошибка, выбрасываемая системой выполнения при возникновении ошибки динамического типа.
- UnimplementedError
- Выбрасывается для операций, которые еще не реализованы.
- UnsupportedError
- Операция не допускается объектом.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/dart-core-library.html