Flutter 导入整个文件和仅导入带有“在Dart中显示”的类之间有什么区别?
而不是写:Flutter 导入整个文件和仅导入带有“在Dart中显示”的类之间有什么区别?,flutter,dart,Flutter,Dart,而不是写: import'package:flatter_platform_widgets/flatter_platform_widgets.dart'; 导出了十几个文件,我想写: import'package:flatter\u platform\u widgets/flatter\u platform\u widgets.dart' 显示 PlatformAlertDialog, 平台式循环压缩机指示器, 平台对话行动, 平台文本, 展示平台对话框; 因为我只使用这些组件。然而,这是相
import'package:flatter_platform_widgets/flatter_platform_widgets.dart';
导出了十几个文件,我想写:
import'package:flatter\u platform\u widgets/flatter\u platform\u widgets.dart'
显示
PlatformAlertDialog,
平台式循环压缩机指示器,
平台对话行动,
平台文本,
展示平台对话框;
因为我只使用这些组件。然而,这是相当整洁的(让我想起Typescript没完没了的导入),并且违背了Dart的简洁原则
在VSCode中导入代码段使用第一种解决方案,但是在性能方面是否有显著差异?有什么好的做法吗?我在中找不到任何内容。当您使用关键字
时,基本上显示您所说的内容,我只想使用dart文件包中的此特定类,从:
仅导入库的一部分
如果只想使用库的一部分,可以有选择地导入库。例如:
现在,如果您尝试使用此软件包中除foo
以外的任何内容,您将得到一个错误,因为您指定只使用foo
对性能没有影响。使用show
的原因是为了减少从不同包导入类时出现混淆的机会
例如:让我们说
abc.dart
有两个类
class One {}
class Two {}
和xyz.dart
还有两个类:
class One {}
class Three {}
您正在文件中导入这两个包
import 'abc.dart';
import 'xyz.dart';
比如说,您只想使用来自abc.dart
的类One
,因此当您使用One
时,它可以来自abc.dart
或xyz.dart
。因此,为了防止一个来自xyz.dart
,您应该使用:
import `xyz.dart` show Three // which means only `Three` class can be used in your current file from xyz.dart package
你想检查一下吗?我的问题不是关于show
和as
之间的区别,我知道show
的功能,我想知道何时使用它。谢谢你的回答。我知道show
和hide
做什么,你知道在使用与否之间是否存在某种性能或设计相关的最佳解决方案吗?当你导入dart文件时,该文件中的所有符号都将变为可用,但当你使用show
时,它只会限制你可以从该文件中使用的内容。但我怀疑,如果你使用或不使用它,它将影响性能。(我的意思是你已经导入了整个文件,show
和hide
只是限制了从该文件中使用什么)。
import `xyz.dart` show Three // which means only `Three` class can be used in your current file from xyz.dart package