这是 Dart 2.7 中引入的名为 extension 的 dart 语言功能,它是一种向现有库添加功能的方法。
你可能会在不知不觉中使用扩展方法。
例如,当您在 IDE 中使用代码完成时,它会建议扩展方法和常规方法。
例如,考虑以下代码将字符串解析为整数:
int.parse('42')
将功能改为在字符串上可能会更好——更短且更容易与工具一起使用——:
'42'.parseInt()
要启用该代码,您可以导入包含 String 类的扩展的库:
import 'string_apis.dart';
// ···
print('42'.parseInt()); // Use an extension method.
扩展不仅可以定义方法,还可以定义其他成员,例如 getter、setter 和运算符。此外,扩展有名称,如果出现 API 冲突,这会很有帮助。下面介绍了如何使用对字符串进行操作的扩展(名为 NumberParsing)来实现扩展方法 parseInt()。
extension NumberParsing on String {
int parseInt() {
return int.parse(this);
}
// ···
}
摘要
get 包在后台使用扩展调用RxInt 的getter。
对象,所以属性实际上并没有被原始数据类型调用
这是来自get包的源代码……你可以通过按ctrl+“.obs”来访问它
extension IntExtension on int {
/// Returns a `RxInt` with [this] `int` as initial value.
RxInt get obs => RxInt(this);
}