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