首页 > 解决方案 > 如何在 Dart 或 Flutter 中创建点函数

问题描述

假设我想在调用时将 UNIX 整数转换为 DateTime 格式。(这只是一个例子)我想创建一个类似的函数.toUpperCase();.toString();其中函数将该特定项目作为参数而不写在括号内。我确实尝试过进入这些默认核心功能,但没有帮助。

我该如何为自定义功能做到这一点?现在我在这里:

//------------- main()----------//

void main() {
  int unixDT = 1619691181;
// print(unixDT.toDateString()); //<-----this is what I'm looking for

}

//------- This is a function that should be in another-separate dart file-------//

String toDateString(int dt) {
  DateTime datetime = new DateTime.fromMillisecondsSinceEpoch(dt);
  return datetime.toString();
}

如果您需要澄清,请发表评论。这是我在 StackOverflow 上的第一个问题,所以如果有任何错误,我深表歉意。

标签: dart

解决方案


听起来您正在寻找扩展方法

void main() {
  const unixDT = 1619691181;
  print(unixDT.toDateString()); // 1970-01-19 18:54:51.181
}

extension IntToDateStringExtension on int {
  String toDateString() => DateTime.fromMillisecondsSinceEpoch(this).toString();
}

推荐阅读