Numbers, Strings and Booleans
5.1 Numbers
var hex = 0xFF;
var exponent = 1.42e5;
var million = 1_000_000; // digit separators (Dart 3.6)
print(7 / 2); // 3.5 (always double)
print(7 ~/ 2); // 3 (integer division)
print(7 % 2); // 1
print(-7.remainder(2)); // -1
print((2.5.floor(), 2.5.ceil(), (-2.5).abs(), 3.7.truncate()));
print((10.clamp(1, 5), 4.isEven, 3.isOdd, 0.isNegative));
print((255.toRadixString(2), int.parse('ff', radix: 16)));
print(10.gcd(4)); // 2 (for powers use pow(2, 10) from dart:math)
print((double.infinity, double.nan.isNaN, double.maxFinite));
print(BigInt.parse('123456789012345678901234567890') * BigInt.two);import 'dart:math';
print((sqrt(16), pow(2, 10), max(3, 7), pi, e, log(e)));
final rng = Random();
print((rng.nextInt(100), rng.nextDouble(), Random.secure().nextInt(10)));5.2 Strings
For user-perceived characters (emoji, accents), use the characters package: '๐จโ๐ฉโ๐ง'.characters.length == 1.
var single = 'Single quotes';
var dbl = "Double quotes";
var interpolation = 'Sum: ${2 + 3}, name: $single';
var multi = '''
Multi-line
string''';
var raw = r'C:\path\no\escapes\n';
var concat = 'Hello ' 'World'; // adjacent literals are concatenated
var unicode = '\u{1F600} \u0041';
var s = 'Hello, Dart World';
s.length; s.toUpperCase(); s.toLowerCase(); s.trim(); s.trimLeft(); s.trimRight();
s.contains('Dart'); s.startsWith('He'); s.endsWith('ld');
s.indexOf('o'); s.lastIndexOf('o');
s.substring(7, 11); // "Dart"
s.split(', '); // ["Hello", "Dart World"]
s.replaceAll('o', '0'); s.replaceFirst('l', 'L');
s.padLeft(20, '*'); s.padRight(20);
s * 2; // repetition
s[0]; // "H" (a UTF-16 code unit as a String)
s.codeUnitAt(0); s.runes.length; // code points
s.isEmpty; s.isNotEmpty;
s.compareTo('Apple');
s.split('').reversed.join(); // reverse (not grapheme-safe)
'a,b,,c'.split(',').where((x) => x.isNotEmpty).toList();5.3 StringBuffer
final buffer = StringBuffer();
for (var i = 0; i < 3; i++) {
buffer.write('Item $i');
buffer.writeln();
}
buffer.writeAll(['a', 'b'], ', ');
print(buffer.toString());5.4 Booleans
Dart has no truthiness. Conditions must be bool. (if (list) doesn't compile. Use if (list.isNotEmpty).)