Dart中支持以下数据类型
- 常用数据类型
- Number(数字):
- String(字符串):
- Boolean(布尔):
- List(数组):
- 在Dart中数组是列表对象,所以大多数人只是称它们为列表。
- Map(字典):
- 通常来说,Map是一个键值对相关的对象。键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次。
- 不常用数据类型
- Runes
- Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。
- Symbols
- Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。
字符串定义的几种方式
void main() {
String str1 = 'Hello Dart';
String str2 = "Hello Dart";
String str3 = '''Hello Dart
你好,Dart''';
print(str1);
print(str2);
print(str3);
String str4 = 'Hello' + ' Dart';
print(str4);
String str5 = 'Hello Dart';
String str6 = 'Hello ${str5}';
print(str6);
}
数字类型
void main() {
int a = 123;
double b = 123.456;
print(a);
print(b);
int c = 123;
double d = 123.456;
print(c + d);
print(c - d);
print(c * d);
print(c / d);
print(c ~/ d);
print(c % d);
int e = -100;
print(e.abs());
double f = 10.5;
print(f.round());
print(f.floor());
print(f.ceil());
print(f.toInt());
print(e.toDouble());
}
布尔类型
void main() {
bool flag1 = true;
bool flag2 = false;
print(flag1);
print(flag2);
bool flag3 = true;
print(flag3.toString());
bool flag4 = true;
bool flag5 = false;
print(flag4 && flag5);
print(flag4 || flag5);
print(!flag4);
}
List类型
void main() {
var l1 = ['aaa', 'bbb', 'ccc'];
print(l1);
print(l1.length);
print(l1[1]);
var l2 = <String>['aaa', 'bbb', 'ccc'];
print(l2);
print(l2.length);
print(l2[1]);
var l3 = ['aaa', 'bbb', 'ccc'];
l3.add('ddd');
print(l3);
l3.insert(1, 'eee');
print(l3);
l3.remove('aaa');
print(l3);
print(l3.indexOf('bbb'));
print(l3.indexOf('ddd'));
print(l3.indexOf('aaa'));
print(l3.indexOf('eee'));
print(l3.indexOf('eee') > -1);
print(l3.contains('eee'));
print(l3.contains('aaa'));
}
Map类型
void main() {
var p1 = {
'name': '张三',
'age': 20,
'work': ['程序员', '送外卖']
};
print(p1);
print(p1['name']);
print(p1['age']);
print(p1['work']);
print(p1['work'][1]);
var p2 = new Map();
p2['name'] = '李四';
p2['age'] = 30;
p2['work'] = ['程序员', '送外卖'];
print(p2);
print(p2['name']);
print(p2['age']);
print(p2['work']);
print(p2['work'][1]);
var p3 = {
'name': '张三',
'age': 20,
'work': ['程序员', '送外卖']
};
p3['name'] = '李四';
print(p3);
p3.remove('age');
print(p3);
print(p3.keys);
print(p3.values);
print(p3.containsKey('name'));
print(p3.containsValue('李四'));
print(p3.isEmpty);
print(p3.isNotEmpty);
}