系统内建类型
- numbers
- strings
- booleans
- lists (数组)
- maps (字典)
- runes (用于字符串中表示Unicode字符)
- symbols (标识符, 编译时常量)
1. Numbers
有两种类型: int 和 double
1.1 int
int类型的值分两种:
(1). Dart VM上, 取值区间: -2^63 to 2^63 - 1
(2). 被编译成JavaScript, 取值区间: -2^53 to 2^53 - 1
var x = 1;
var hex = 0xDEADBEEF;
1.2 double
64位(双精度)浮点型数据
var y = 1.1;
var exponents = 1.42e5;
int double都是num的子类, num的子类还包括一些操作符(= - * /)和abs(), ceil(), floor()等, 位操作符(>>)被定义再int类中,
其他的参考: https://api.dartlang.org/stable/2.1.0/dart-math/dart-math-library.html
note: Dart2.1之后, int可以自动转成double, 2.1之前会报错
double z = 1; // z = 1.0.
类型间的转换:
// String -> int
var one = int.parse('1');
assert(one == 1);
// String -> double
var onePointOne = double.parse('1.1');
assert(onePointOne == 1.1);
// int -> String
String oneAsString = 1.toString