五Dart-数据类型
目录
(五)Dart 数据类型
Dart 数据类型
常用数据类型
Numbers(数值)
- int :表示整数。
- double :表示浮点数。
Strings(字符串)
- String :表示字符串。
Booleans(布尔)
- bool
:表示布尔值,值为
true
或false
。
List(数组)
在 Dart 中,数组是列表对象,通常称为列表。
Maps(字典)
Map 是一个键值对相关的对象,键和值可以是任何类型的对象。每个键只出现一次,而一个值可以出现多次。
项目中用不到的数据类型
Runes
Rune 是 UTF-32 编码的字符串,可以通过文字转换成符号表情或者代表特定的文字。
main() {
var clapping = '123123';
print(clapping);
print(clapping.codeUnits);
print(clapping.runes.toList());
Runes input = new Runes(
'111111');
print(new String.fromCharCodes(input));
}
Symbols
Symbol 对象表示在 Dart 程序中声明的运算符或标识符。入门阶段不需要了解这东西,可能永远也用不上。
Dart 数据类型示例代码
字符串类型
void main() {
// 1、字符串定义的几种方式
// var str1 = 'this is str1';
// var str2 = "this is str2";
// print(str1);
// print(str2);
// String str1 = 'this is str1';
// String str2 = "this is str2";
// print(str1);
// print(str2);
// String str1 = '''this is str1
// this is str1
// this is str1
// ''';
// print(str1);
// String str1 = """
// this is str1
// this is str1
// this is str1
// """;
// print(str1);
// 2、字符串的拼接
String str1 = '你好';
String str2 = 'Dart';
// print("$str1 $str2");
print(str1 + str2);
print(str1 + " " + str2);
}
数值类型
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);
}
布尔类型
void main() {
// 1、bool
// bool flag1 = true;
// print(flag1);
// bool flag2 = false;
// print(flag2);
// 2、条件判断语句
// var flag = true;
// if (flag) {
// print('真');
// } else {
// print('假');
// }
// var a = 123;
// var b = '123';
// if (a == b) {
// print('a=b');
// } else {
// print('a!=b');
// }
var a = 123;
var b = 123;
if (a == b) {
print('a=b');
} else {
print('a!=b');
}
}
List(数组/集合)
void main() {
// 1、第一种定义 List 的方式
// var l1 = ["张三", 20, true];
// print(l1); // [张三, 20, true]
// print(l1.length); // 3
// print(l1[0]); // 张三
// print(l1[1]); // 20
// 2、第二种定义 List 的方式 指定类型
// var l2 = <String>["张三", "李四"];
// print(l2);
// var l3 = <int>[12, 30];
// print(l3);
// 3、第三种定义 List 的方式 增加数据,通过 [] 创建的集合它的容量可以变化
// var l4 = [];
// print(l4);
// print(l4.length);
// l4.add("张三");
// l4.add("李四");
// l4.add(20);
// print(l4);
// print(l4.length);
// var l5 = ["张三", 20, true];
// l5.add("李四");
// l5.add("zhaosi");
// print(l5);
// 4、第四种定义 List 的方式
// var l6 = new List(); // 在新版本的 Dart 里面没法使用这个方法了
// var l6 = List.filled(2, ""); // 创建一个固定长度的集合
// print(l6);
// print(l6[0]);
// l6[0] = "张三"; // 修改集合的内容
// l6[1] = "李四";
// print(l6); // [张三, 李四]
// l6.add("王五"); // 错误写法 通过 List.filled 创建的集合长度是固定,没法增加数据
// 通过 List.filled 创建的集合长度是固定
// var l6 = List.filled(2, "");
// print(l6.length);
// l6.length = 0; // 修改集合的长度 报错
// var l7 = <String>["张三", "李四"];
// print(l7.length); // 2
// l7.length = 0; // 可以改变的
// print(l7); // []
var l8 = List<String>.filled(2, "");
l8[0] = "string";
// l8[0] = 222;
print(l8);
}
Maps(字典)
void main() {
// 第一种定义 Maps 的方式
// var person = {
// "name": "张三",
// "age": 20,
// "work": ["程序员", "送外卖"]
// };
// print(person);
// print(person["name"]);
// print(person["age"]);
// print(person["work"]);
// 第二种定义 Maps 的方式
var p = new Map();
p["name"] = "李四";
p["age"] = 22;
p["work"] = ["程序员", "送外卖"];
print(p);
print(p["age"]);
}