本篇从大地老师《Dart 入门实战教程》学习整理而来。
Numbers(数值)
- int/double
//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);
Strings(字符串)
- String
// 定义字符的几种方式
// 1.var 关键字定义
var str1='this is str1';
// 2.类型符号定义
String str1='this is str1';
// 3.定义多行字符串 '''或"""
String str1='''this is str1
this is str1
this is str1''';
// 字符串的拼接
String str1='你好';
String str2='Dart';
print("$str1 $str2");
print(str1 + str2);
Booleans(布尔)
- true/false
var a = 123;
var b = 123;
if (a == b) {
print('a=b');
} else {
print('a!=b');
}
List(数组)
- 在Dart中,数组是列表对象,所以大多数人只是称它们为列表
// 1、第一种定义List的方式
var l1=["张三",20,true];
// 2、第二种定义List的方式 指定类型
var l2=<String>["张三","李四"];
var l3 = <int>[12, 30];
// 3、第三种定义List的方式 增加数据 ,通过[]创建的集合它的容量可以变化
var l4 = [];
l4.add("张三");
// 4、通过List.filled创建的集合长度是固定
var l5=List.filled(2, "");
print(l6.length);
l6.length=0; //修改集合的长度 报错
List l6 = List<String>.filled(2, "");
Maps(字典)
- 通常来说,Map 是一个键值对相关的对象。 键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次
//第一种定义 Maps的方式
var person = {
"name": "张三",
"age": 20,
"work": ["程序员", "送外卖"]
};
//第二种定义 Maps的方式
var p = new Map();
p["name"] = "李四";
p["age"] = 22;
p["work"] = ["程序员", "送外卖"];
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));
}
Symbols
- Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。要获取标识符的符号,请使用符号文字,它只是#后跟标识符:
类型推断
- 使用 is 关键字实现类型推断
var str = 123;
if (str is String) {
print('是string类型');
} else if (str is int) {
print('int');
} else {
print('其他类型');
}