flutter - 如何创建像 Print 这样的全局函数?

标签 flutter dart

在 Flutter 中有一个 print function在不导入任何包的情况下调用项目文件的任何部分。

我可以像这样定义一个全局函数(在一个单独的文件中)吗?我不想导入任何东西。

最佳答案

printdart:core library 的一部分并且这个库是自动导入的

这意味着您可以认为每个 Dart 文件在开头确实有一个“隐藏的”导入语句:

import 'dart:core';

我可以像这样定义一个全局函数吗?

,你不能,因为 dart:core 库中没有任何东西是“全局的”,它只是自动全局导入。

这只是一个决定,将 printStringList 等标准类型一起包含在核心库中。

为什么?

你说你“不想导入任何东西”,然而,这正是 Dart 的工作方式:你必须导入你想使用的库。

话虽如此,您应该只导入您的函数通常所在的库,但是,您可能会感兴趣的部分。

解决方法:零件

您的想法是某种 Dart 的一部分。

在 Dart 中,您可以将(实际上是一个 Dart 文件)拆分成多个文件。在编译时,这些多个文件将再次合并为一个文件。

为此,您可以使用 part 指令:

  • 在您的库的主文件中,您必须添加 part '{other_file}.dart';。请注意,此主文件是您的库中唯一可以拥有import语句的地方。

  • 在属于库的所有其他文件中,您必须添加 part of '{library}.dart';
    正如我所说,这里的缺点是您不能导入这些零件文件中的任何内容。

Learn more (文档不鼓励您使用 part 指令)。

关于flutter - 如何创建像 Print 这样的全局函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57509790/

相关文章:

Flutter - 在文本中的连字符处不会将单词分成换行符

flutter - 在 flutter 中制作电话验证文本字段 UI

android - Flutter:如何赋予彩色容器不透明度?

flutter - Flutter:键盘覆盖了TextFields

dart - 在 Flutter 中检测键盘事件

flutter - 将数据从另一个类导入到有状态小部件

ios - 尝试发布 iOS 应用程序时出现黑屏问题

flutter - 在 flutter 网络上缓存图像,是否需要?

database - 如何在3个步骤中处理多个页面以保存用户数据,其中每个步骤都是一个新界面,然后将它们保存在一起?

从列表中删除项目后,Flutter Slidable 保持打开状态