在Dart 2.7 版本中,新加入了一个重要的语法功能,叫做extension。Extension的主要功能给已经存在的类添加新的member function,往里面增加新的函数。通过extension, 我们可以向诸如 Iterable , String 这样的常用类里面增加一些方便的函数。另一个重要的作用是:通过扩展函数,可以解决Flutter布局嵌套层级太深的问题。
扩展 String 的功能
我们创建一个文件名为 “string_parser_extension.dart”,其中的内容如下。
extension ParseNumbers on String {
int parseInt() {
return int.parse(this);
}
double parseDouble() {
return double.parse(this);
}
}
在extension函数中,我们可以通过this来访问string 中原有的其它方法。这里的this指的是当前的string instance。
要使用这两个extension函数,只需要 import ‘{文件路径}:string_parser_extension.dart’ , 然后我们就可以对代码中的 string 类型使用这两个函数了。
final d = '2';
print(d.parseInt());
通过extension来为 String class 增加方便的功能,简化代码。
网友评论