Spec-Zone.ru › Dart 1

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

Spec-Zone.ru

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