dart中"library"关键字的确切含义

rom*_*nos 16 dart

我知道这个关键字应该在一些自定义库中使用,但是当我删除它时,什么都没发生(至少我没有注意到任何东西),导入仍然工作正常,私有成员保持私有.

有人可以解释Dart中的"库"关键字吗?

Gün*_*uer 11

更新2018-03-05

part of因为一段时间接受一个URI,这减少library了一些edg3案件的需要.

更新2015-11-27

最近的更改,两个导入的无名库不再产生警告.计划是使库声明完全是可选的.


库声明是可选的.如果省略,则库名称默认为"".
在某些情况下(pub build)如果两个库具有相同的名称,则会出现错误,因此通常应该设置正确的库名称.

在一个由一个库组成的简单命令行应用程序中,通常可以省略库声明.

Dart语言规范

隐式命名的库将空字符串作为其名称.

库的名称用于将其绑定到库的单独编译部分(称为部件),并可用于打印,更一般地说,用于反射.该名称可能与进一步的语言演变有关.

旨在广泛使用的库应该避免名称冲突.Dart的pub包管理系统提供了这样做的机制.每个pub包都保证有一个唯一的名称,有效地强制执行全局命名空间.


Ben*_*rth 10

该关键字在语言之旅(库和可见性部分)library中没有详细记录。\n但是,在创建包文档中:

\n
\n

注意:当指定库指令\xe2\x80\x99t 时,将根据每个库的路径和文件名生成唯一的标记。因此,我们建议您从代码中省略库指令,除非您计划生成库级文档。

\n
\n

\n
\n

注意:要在生成的文档中包含任何库级文档,您必须指定库指令。参见第 1082 期

\n
\n

所以这是自动生成的,但它不适用于库级文档,没有指令的库不会生成文档library

\n

  • 文档中现在的这一特定信息确实澄清了是否使用库指令,并且应该是当前(截至 2022 年 5 月)的正确答案。 (2认同)