一.Dart中支持以下数据类型
常用数据类型:
1.Numbers(数值):
int
double
2.Strings(字符串)
String
3.Booleans(布尔)
bool
4.List(数组)
在Dart中,数组是列表对象,所以大多数人只是称它们为列表
5.Maps(字典)
通常来说,Map 是一个键值对相关的对象。 键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次
项目中用不到的数据类型 (用不到):
1.Runes
Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。
main() {
var clapping = 'u{1f44f}';
print(clapping);
print(clapping.codeUnits);
print(clapping.runes.toList());
Runes input = new Runes(
'u2665 u{1f605} u{1f60e} u{1f47b} u{1f596} u{1f44d}');
print(new String.fromCharCodes(input));
}
2.Symbols
Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。要获取标识符的符号,请使用符号文字,它只是#后跟标识符:
在 Dart 中符号用 # 开头来表示,入门阶段不需要了解这东西,可能永远也用不上。
二.Dart数据类型详解
1.Dart数据类型:字符串类型
字符串定义的几种方式
1)var定义
void main(){
var str1='this is str1';
var str2="this is str2";
print(str1);
print(str2);
}
2) String关键字定义
void main(){
String str1='this is str1';
String str2="this is str2";
print(str1);
print(str2);
}
3)三个单引号定义或三个双引号定义
定义的字符串可以换行
void main(){
String str1='''this is str1
this is str1
this is str1
''';
print(str1);
}
字符串拼接
void main(){
String str1='你好';
String str2='Dart';
print("$str1 $str2");
//可用 + 进行拼接
print(str1 + str2);
// 加入空格
print(str1 +" "+ str2);
}
2.Dart数据类型:数值类型
void main(){
//1、int 必须是整型
int a=123;
a=45;
print(a);
//2、double 既可以是整型 也可是浮点型
double b=23.5;
b=24;
print(b);
//3、运算符
// + - \* / %
var c=a+b;
print(c);
}
3.Dart数据类型:布尔类型
bool 值true/false
void main(){
//条件判断语句
//可判断字符串
var a=123;
var b='123';
if(a==b){
print('a=b');
}else{
print('a!=b');
}
//可判断数值
var c=123;
var d=123;
if(c==d){
print('a=b');
}else{
print('a!=b');
}
}
4.Dart数据类型:List(数组/集合)
1).定义List
void main(){
var l1=\['aaa','bbbb','cccc'\];
print(l1);
print(l1.length);
print(l1\[1\]);
}
void main(){
var l2=new List();
l2.add('张三');
l2.add('李四');
l2.add('王五');
print(l2);
print(l2\[2\]);
}
2).定义List指定类型
void main(){
//定义List类型伟Sring
var l3=new List<String>();
l3.add('张三');
// l3.add(123); //添加数字会报错
print(l3);
}
5.Dart数据类型:Maps(字典)
定义Maps
1 void main(){ 2 var person={
3 "name":"张三",
4 "age":20,
5 "work":\["程序员","送外卖"\]
6 };
7
8 print(person);
9
10 print(person\["name"\]); 11
12 print(person\["age"\]); 13
14 print(person\["work"\]); 15
16 }
void main(){ var p=new Map();
p\["name"\]="李四";
p\["age"\]=22;
p\["work"\]=\["程序员","送外卖"\];
print(p);
print(p\["age"\]);
}
三.Dart数据类型判断
is 关键词来判断类型
void main(){ var str=123; if(str is String){
print('是string类型');
}else if(str is int){
print('int');
}else{
print('其他类型');
}
}