Библиотека 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 предоставляет способ эффективного построения строк.
StringBuffer moreShakespeare = new StringBuffer();
moreShakespeare.write('And all the men and women ');
moreShakespeare.write('merely players; ...');
Классы String и StringBuffer реализуют конкатенацию строк, интерполяцию и другие функции обработки строк.
String philosophy = 'Live on ';
String get palindrome => philosophy + philosophy.split('').reversed.join();
RegExp реализует регулярные выражения Dart, которые предоставляют грамматику для сопоставления шаблонов в тексте. Например, вот регулярное выражение, которое соответствует строке из одного или нескольких цифр:
var numbers = new RegExp(r'\d+');
Регулярные выражения Dart имеют тот же синтаксис и семантику, что и регулярные выражения JavaScript. См. ecma-international.org/ecma-262/5.1/#sec-15.10 для спецификации регулярных выражений JavaScript.
Коллекции
Библиотека dart:core предоставляет базовые коллекции, такие как List, Map и Set.
List — это упорядоченная коллекция объектов с длиной. Иногда списки называются массивами. Используйте List, когда вам нужно получить доступ к объектам по индексу.
List superheroes = [ 'Batman', 'Superman', 'Harry Potter' ];
Set — это неупорядоченная коллекция уникальных объектов. Вы не можете получить элемент по индексу (позиции). Добавление дублирующего элемента не оказывает никакого эффекта.
Set villains = new Set();
villains.add('Joker');
villains.addAll( ['Lex Luther', 'Voldemort'] );
Map — это неупорядоченная коллекция пар «ключ-значение». Map иногда называют ассоциативными массивами, потому что Map сопоставляет ключ со значением для простого извлечения. Ключи уникальны. Используйте Map, когда вам нужно получить доступ к объектам по уникальному идентификатору.
Map sidekicks = { 'Batman': 'Robin',
'Superman': 'Lois Lane',
'Harry Potter': 'Ron and Hermione' };
В дополнение к этим классам, dart:core содержит Iterable, интерфейс, который определяет общие функциональные возможности в коллекциях объектов. Примеры включают возможность запуска функции для каждого элемента в коллекции, применение теста к каждому элементу, извлечение объекта и определение длины.
Iterable реализуется классами List и Set и используется классом Map для его ключей и значений.
Для других типов коллекций ознакомьтесь с библиотекой dart:collection.
Дата и время
Используйте DateTime для представления момента времени и Duration для представления интервала времени.
Вы можете создавать объекты DateTime с помощью конструкторов или путем парсинга правильно отформатированной строки.
DateTime now = new DateTime.now();
DateTime berlinWallFell = new DateTime(1989, 11, 9);
DateTime moonLanding = DateTime.parse("1969-07-20");
Создайте объект Duration, указав отдельные единицы времени.
Duration timeRemaining = new Duration(hours:56, minutes:14);
Помимо DateTime и Duration, dart:core содержит класс Stopwatch для измерения прошедшего времени.
Uri
Объект Uri представляет собой универсальный идентификатор ресурса, который идентифицирует ресурс в веб.
Uri dartlang = Uri.parse('http://dartlang.org/');
Ошибки
Класс Error представляет собой возникновение ошибки во время выполнения. Подклассы этого класса представляют собой конкретные виды ошибок.
Дополнительная документация
Дополнительную информацию о том, как использовать встроенные типы, см. в разделе Встроенные типы в главе 2 документа Dart: Up and Running.
Также см. dart:core - Числа, коллекции, строки и многое другое для получения дополнительной информации о классах в этом пакете.
Спецификация языка Dart предоставляет технические детали.
Константы
- deprecated → Deprecated
-
Помечает функцию как устаревшую до следующего релиза.
const Deprecated("next release") - override → Object
-
Аннотация
@overrideотмечает член экземпляра как переопределяющий член суперкласса с тем же именем.const _Override() - proxy → Object
-
Аннотация
@proxyотмечает класс как реализующий члены динамически черезnoSuchMethod.const _Proxy()
Псевдонимы типов
- Comparator(
T a, T b) → int -
Подпись универсальной функции сравнения.
Функции
- identical(
Object a, Object b) → bool -
Проверяет, ссылаются ли две ссылки на один и тот же объект.
- identityHashCode(
Object object) → int -
Возвращает идентификационный хэш-код
object. - print(
Object object) → void -
Выводит строковое представление объекта в консоль.
Классы
- BidirectionalIterator
-
Итератор, который позволяет перемещаться как вперед, так и назад.
- bool
-
Ключевые слова
trueиfalseобозначают объекты, которые являются единственными экземплярами этого класса. - Comparable
-
Интерфейс, используемый типами, имеющими внутреннее упорядочение.
- DateTime
-
Момент во времени, такой как 20 июля 1969 года в 20:18 по Гринвичу.
- Deprecated
-
Аннотация
@Deprecated('expires when')отмечает функцию как устаревшую. - double
-
Число с плавающей запятой двойной точности.
- Duration
-
Промежуток времени, например, 27 дней, 4 часа, 12 минут и 3 секунды.
- Expando
-
Expando позволяет добавлять новые свойства к объектам.
- Function
-
Базовый класс для всех типов функций.
- int
-
Целое число произвольной разрядности.
- Invocation
-
Представление вызова члена объекта.
- Iterable
-
Коллекция значений, или «элементов», к которым можно получить доступ последовательно.
- Iterator
-
Интерфейс для получения элементов по одному за раз из объекта.
- List
-
Индексируемая коллекция объектов с длиной.
- Map
-
Коллекция пар «ключ-значение», из которой вы можете извлечь значение, используя соответствующий ключ.
- Match
-
Результат поиска в строке.
- Null
-
Зарезервированное слово
nullобозначает объект, который является единственным экземпляром этого класса. - num
-
Целое или число с плавающей запятой.
- Object
-
Базовый класс для всех объектов Dart.
- Pattern
-
Интерфейс для базовых поисков в строках.
- RegExp
-
Шаблон регулярного выражения.
- RuneIterator
-
Итератор для чтения рун (целых кодов Юникода) из строки Dart.
- Runes
-
Рун (целые коды Юникода) строки String.
- Set
-
Коллекция объектов, в которой каждый объект может встречаться только один раз.
- Sink
-
Универсальное место назначения для данных.
- StackTrace
-
Интерфейс, реализуемый всеми объектами трассировки стека.
- Stopwatch
-
Простой интерфейс секундомера для измерения прошедшего времени.
- String
-
Последовательность символов.
- StringBuffer
-
Класс для эффективного конкатенации строк.
- StringSink
- Symbol
-
Непрозрачное имя, используемое рефлексией, вызовами и Function.apply.
- Type
-
Представление типа во время выполнения.
- Uri
-
Разложенный URI, например, URL.
- UriData
-
Способ доступа к структуре
data:URI.
Исключения/Ошибки
- 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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/dart-core-library.html