# dart 基本语法
# 定义类型
在 Dart 语言中,函数与 String 和 Number 一样都是对象,可以使用 类型定义(或者叫 方法类型别名)来为函数的类型命名。使用函数命名将该函数类型的函数赋值给一个变量时,类型定义将会保留相关的类型信息。
typedef Compare = int Function(Object a, Object b);
1
备忘:目前类型定义只能用在函数类型上,但是将来可能会有变化。
# 使用扩展
typedef Comp<int, String> = int Function(Map<int, String> map, int i);
void main() {
int test(Map<int, String> map, int i)=> map[i].paserInt() + i;
print(test is Comp);//false
print(test is Comp<int, String>);//true
}
/**
* 使用Extension扩展
*/
extension TestExtension on String {
int paserInt() {
return int.parse(this);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
← 小功能