Built-in types, collections, and other core functionality for every Dart program.
This library is automatically imported.
Some classes in this library, such as String and num, support Dart's built-in data types. Other classes, such as List and Map, provide data structures for managing collections of objects. And still other classes represent commonly used types of data such as URIs, dates and times, and errors.
int and double provide support for Dart's built-in numerical data types: integers and double-precision floating point numbers, respectively. An object of type bool is either true or false. Variables of these types can be constructed from literals:
int meaningOfLife = 42; double valueOfPi = 3.141592; bool visible = true;
A String is immutable and represents a sequence of characters.
String shakespeareQuote = "All the world's a stage, ...";
StringBuffer provides a way to construct strings efficiently.
var moreShakespeare = StringBuffer();
moreShakespeare.write('And all the men and women ');
moreShakespeare.write('merely players; ...'); The String and StringBuffer classes implement string splitting, concatenation, and other string manipulation features.
bool isPalindrome(String text) => text == text.split('').reversed.join(); RegExp implements Dart regular expressions, which provide a grammar for matching patterns within text. For example, here's a regular expression that matches a substring containing one or more digits:
var numbers = RegExp(r'\d+');
Dart regular expressions have the same syntax and semantics as JavaScript regular expressions. See ecma-international.org/ecma-262/5.1/#sec-15.10 for the specification of JavaScript regular expressions.
The dart:core library provides basic collections, such as List, Map, and Set.
A List is an ordered collection of objects, with a length. Lists are sometimes called arrays. Use a List when you need to access objects by index.
var superheroes = ['Batman', 'Superman', 'Harry Potter'];
A Set is an unordered collection of unique objects. You cannot get an item efficiently by index (position). Adding an element which is already in the set, has no effect.
var villains = {'Joker'};
print(villains.length); // 1
villains.addAll(['Joker', 'Lex Luthor', 'Voldemort']);
print(villains.length); // 3 A Map is an unordered collection of key-value pairs, where each key can only occur once. Maps are sometimes called associative arrays because maps associate a key to some value for easy retrieval. Use a Map when you need to access objects by a unique identifier.
var sidekicks = {'Batman': 'Robin',
'Superman': 'Lois Lane',
'Harry Potter': 'Ron and Hermione'}; In addition to these classes, dart:core contains Iterable, an interface that defines functionality common in collections of objects. Examples include the ability to run a function on each element in the collection, to apply a test to each element, to retrieve an object, and to determine the number of elements.
Iterable is implemented by List and Set, and used by Map for its keys and values.
For other kinds of collections, check out the dart:collection library.
Use DateTime to represent a point in time and Duration to represent a span of time.
You can create DateTime objects with constructors or by parsing a correctly formatted string.
var now = DateTime.now();
var berlinWallFell = DateTime(1989, 11, 9);
var moonLanding = DateTime.parse("1969-07-20"); Create a Duration object by specifying the individual time units.
var timeRemaining = const Duration(hours: 56, minutes: 14);
In addition to DateTime and Duration, dart:core contains the Stopwatch class for measuring elapsed time.
A Uri object represents a uniform resource identifier, which identifies a resource, for example on the web.
var dartlang = Uri.parse('http://dartlang.org/'); The Error class represents the occurrence of an error during runtime. Subclasses of this class represent specific kinds of errors.
For more information about how to use the built-in types, refer to Built-in Types in A tour of the Dart language.
Also, see dart:core - numbers, collections, strings, and more for more coverage of types in this library.
The Dart Language Specification provides technical details.
true and false denote objects that are the only two instances of this class. @Deprecated('migration') marks a feature as deprecated. null denotes an object that is the sole instance of this class. null. data: URI. Deprecated("next release") _Override() null null object. 0..indexable.length-1. noSuchMethod on Object. null.
© 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