Spec-Zone.ru › Dart 2

Библиотека 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API