Dart/Flutter - 扩展方法(ExtensionMethod)

最近Get到一个新技能,类似Kotlin、C#等语言上的扩展方法,现在Dart语言也支持啦!

目前Dart-SDK-2.6.0及以上是可以正常使用的,但是在FlutterStable分支中是属于实验性的支持,因此我们需要做一下几个步骤的操作:

  • 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.希望您用得嗨皮!哈哈,切勿滥用!

推荐阅读更多精彩内容