function - 是否可以重写 Dart 中的顶级函数?

标签 function dart

假设我有这个顶级函数:

function log(String message) {
    print(message);
}

是否可以在 Dart 中重写此函数?

最佳答案

简单的答案:不。顶级不能被子类化,因此不可能覆盖。

更长的答案:您可以“掩盖”它们,但根据您的用例,这可能不是您想要的。

如果您想更改由库本身调用的第 3 方库的顶级方法的行为,这是不可能的(至少,我不知道有什么方法可以做到这一点) )。

如果你只是想定义一个同名的方法在你自己的库中使用,你可以只定义该方法并使用它。如果导入的dart文件中同时需要库和你自己的方法,你可以为库添加前缀,并在带或不带前缀的情况下调用它以区分方法:

import "lib1.dart" as mylib;

void main() {
    log(); // log() method defined in this file
    mylib.log(); // log() method defined in lib1.dart
}

关于function - 是否可以重写 Dart 中的顶级函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21001263/

相关文章:

arrays - MATLAB 可以将函数应用于对象数组吗

python - 为数据框创建 Parquet 创建函数

arrays - 为什么这个函数句柄在不正确的上下文中使用?

flutter - 通过单击按钮停止 Flutter 中的 while 循环

android - Flutter 谷歌地图和 firebase 不能一起工作

r - 附加函数名称,但参数较少

MySQL 函数返回周末

Flutter:解析 JSON 数据并在 App 中展示

api - 如何使用 Dio 在 Flutter 中调用 API?

dart - 如何设置CrossAxisAlignment的值?