在Flutter中,您会在项目文件的任何部分调用print
function,而不会导入任何程序包。
我可以在单个文件中定义这样的全局函数吗?我不想导入任何东西。
答案 0 :(得分:1)
print
是dart:core
library的一部分,并且该库是自动导入的。
这意味着您可以想到每个Dart文件在开始时确实具有“隐藏”的导入语句:
import 'dart:core';
否,您也不能这样做,因为dart:core
库中的任何内容都不是“全局”的,它只是自动全局导入的。
仅是决定将print
与String
,List
等标准类型一起包含在核心库中。
您说您“不想导入任何东西”,但这只是Dart的工作方式:您将必须导入要使用的库。
话虽如此,您应该只导入函数通常所在的库,但是,部分内容可能会让您感兴趣。
您的想法是Dart的种。
在Dart中,您可以将您的库(实际上是一个Dart文件)拆分为多个文件。在编译时,这些多个文件将再次合并为一个文件。
为此,您可以使用part
指令:
在库的主文件中,您将必须添加part '{other_file}.dart';
。请注意,该主文件是您库中唯一可以{@ {1}}声明的位置。
在属于库的所有其他文件中,您将必须添加import
。
就像我说的那样,这里的缺点是您不能导入这些零件文件中的任何内容。
Learn more(文档不鼓励您使用part指令)。