Dart/Flutter - 扩展方法(ExtensionMet
2019-12-09 本文已影响0人
Cosecant
最近Get到一个新技能,类似Kotlin、C#等语言上的扩展方法,现在Dart语言也支持啦!
目前Dart-SDK-2.6.0及以上是可以正常使用的,但是在Flutter的Stable分支中是属于实验性的支持,因此我们需要做一下几个步骤的操作:
- 1.Flutter项目根目录创建一个analysis_options.yaml文件,然后添加以下内容到文件中。
analyzer:
enable-experiment:
- extension-methods
- 2.语法是怎么样的呢,其实很简单。
/// 字符串扩展方法
extension StringExtension on String{
/// 是否是电话号码
bool get isMobileNumber {
if(this?.isNotEmpty != true) return false;
return RegExp(r'^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8])|(19)[0-9])\d{8}$').hasMatch(this);
}
}
- 3.怎么使用呢?那就更简单了,看实例!
void test(){
bool isMobileNumber= "电话号码".isMobileNumber;
}
- 4.希望您用得嗨皮!哈哈,切勿滥用!