常用数据类型:
Strings(字符串):String
Numbers(数值):int、double
Booleans(布尔):bool
List(数组):在Dart中,数组是列表对象,所以大多数人只是称它们为列表
Maps(字典):通常来说,Map 是一个键值对相关的对象。键和值可以是任何类型的对象。每个键只出现一次,而一个值则可以出现多次。
不常用数据类型:
Runes :Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。
Symbols :Symbol对象表示在Dart程序中声明的运算符或标识符。
一、Strings(字符串)类型
1.字符串几种声明方法
void main() {
var str1 = 'Hello';
String str2 = 'Dart';
//使用三对单引号或者双引号,可以写多行内容,类似模板字符串
var str3 = '''
Hello
Dart
''';
String str4 = '''
Hello
Dart
''';
print(str1);
print(str2);
print(str3);
print(str4);
}
2.字符串拼接
字符串拼接有两种方式,如下
//方法一:使用+号拼接
print(str1 + ' ' + str2);
//方法二:使用$拼接
print('$str1 $str2');
二、Numbers(数值)类型
1.int (整型)
main() {
//1、int 必须是整型
int num1 = 18;
num1 = 28;
print(num1);
}
注:这里使用void main()会报错,int只能是整数,不能有小数点。
2.double (浮点型)
double num2 = 18.88;
num2 = 28; //double赋值既可以是整型 也可是浮点型
print(num2);
注:如果给double类型赋值整型,会自动转化为浮点型
3.运算符
与JavaScript相似,基本运算符+、-、*、/,加减乘除
三、Booleans(布尔) 类型
bool 值true/false,布尔类型赋值只能是true/false。
四、List(数组)类型
1.List几种声明方法
main() {
//1.不指定类型,长度不固定,可改变长度,可添加值
var list1 = ['1', 2, 3.0, false];
//2.通过<>指定类型,长度不固定,可改变长度,可添加值
var list2 = <int>[1, 2, 3, 4];
//3.List.filled()声明,声明list长度固定,不可改变长度,也不能向数组添加新值
var list3 = List.filled(2, ""); //第一个值表示数组长度
//var list3 = List<String>.filled(2, "");//<String>指定类型
//4.通过下标修改值
list3[0] = 'hello';
list3[1] = 'Dart';
//5.通过add向[]声明数组添加新值
list1.add('hello');
print(list1);
print(list2);
print(list3);
}
五、Maps(字典)类型
其实与JavaScript中json有些相似之处,Maps有两种定义方法,如下:
main() {
//方法1
var m1 = {'name': 'Dart', 'age': 18, 'more': false};
print(m1);
print(m1['name']);//取值
//方法2
var m2 = new Map();
m2['name'] = 'Dart';//赋值
m2['age'] = 19;
m2['more'] = true;
print(m2);
}
六、类型判断
通过关键字is来判断类型。如下:
main() {
var name = 'Dart';
if (name is String) {
print('String类型');
} else {
print('不是String类型');
}
}