如何创建诸如打印之类的全局功能?

时间:2019-08-15 12:37:53

标签: flutter dart

在Flutter中,您会在项目文件的任何部分调用print function,而不会导入任何程序包。

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

1 个答案:

答案 0 :(得分:1)

print dart:core library的一部分,并且该库是自动导入的

这意味着您可以想到每个Dart文件在开始时确实具有“隐藏”的导入语句:

import 'dart:core';

我可以定义这样的全局函数吗?

,您也不能这样做,因为dart:core库中的任何内容都不是“全局”的,它只是自动全局导入的。

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

为什么?

您说您“不想导入任何东西”,但这只是Dart的工作方式:您将必须导入要使用的库。

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

解决方法:零件

您的想法是Dart的

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

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

  • 在库的主文件中,您将必须添加part '{other_file}.dart';。请注意,该主文件是您库中唯一可以{@ {1}}声明的位置。

  • 在属于库的所有其他文件中,您将必须添加import
    就像我说的那样,这里的缺点是您不能导入这些零件文件中的任何内容。

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