其他问题
var 默认值 null
final 运行时常量
const 编译期常量
- Number
- String
- Boolean
- List
- Map
- Runes、Symbols
num
int
double
+ - * / ~/ %
isNaN
isEven
isOdd
abs()
round()
floor()
ceil()
toInt()
toDouble()
String str1 = r''
+ * == []
${expression}
length
isEmpty
isNotEmpty
contains()
subString()
startsWith()
endsWith()
indexOf()
lastIndexOf()
toLowerCase()
toUpperCase()
trim()
trimLeft()
trimRight()
split()
replace()
bool
var list = [1, 2, 3]
var list = const[1, 2, 3]
var list = new List()
length
add()
insert()
remove()
clear()
indexOf()
lastIndexOf()
sort()
sublist()
shuffle()
asMap()
forEach()
var map = {}
var map = const{}
var map = new Map()
length
isEmpty
isNotEmpty
keys
values
containsKey()
cantainsValue()
remove()
forEach()
dynamic
var list = new List<dynamic>()
b ??= 10
??
函数
dart file_name.dart arg1 arg2
面向对象
- 可以省略new
- 默认生成getter和setter
- final只能getter
- 下划线私有属性(library)
num get area {
return width * height;
}
set area(value) {
width = value / 20;
}
class God {
String name;
int age;
final String gender; // final需要在构造方法之前
God(this.name, this.age, this.gender);
God.withName(this.name); // 命名构造方法,静态方法?
}
- 常量构造方法(类是不可变状态,变量只用一次),变量使用final
- 工厂模式 factory,可以返回对象
- 初始化列表,常用于final赋值
- 静态成员 static (类级别)
- 静态成员不能访问非静态成员,非静态成员可以访问静态成员
- ?. 条件访问
- (person as Person).work()
- is is!
- ..
- call