我知道这个关键字应该用在一些自定义库中, 但当我放弃它时,什么都没发生(至少我没有注意到任何东西), 进口仍然很好,私人成员保持私密。
有人可以解释Dart中的“库”关键字吗?
答案 0 :(得分:7)
更新2018-03-05
part of
因为一段时间接受了一个URI,这减少了library
对少数edg3案例的需求。
更新2015-11-27
通过最近的更改,两个导入的无名库不再产生警告。计划是使库声明完全是可选的。
库声明是可选的。如果省略,则库名称默认为""
在某些情况下(pub build
),如果两个库具有相同的名称,则会出现错误,因此通常应该设置正确的库名称。
在一个由一个库组成的简单命令行应用程序中,通常可以省略库声明。
隐式命名的库具有空字符串作为其名称。
库的名称用于将其绑定到单独编译的部分 库(称为部件),可用于打印等等 一般来说,反思。该名称可能与其他语言相关 演化。
广泛使用的库应该避免名称冲突。 Dart的pub包管理系统提供了一种机制 所以。每个pub包都保证有效的唯一名称 强制执行全局命名空间。
答案 1 :(得分:2)
library
关键字在 language tour (libraries and visibility section) 中没有详细记录。
但是,在 creating packages 文档中:
注意:当未指定库指令时,会根据每个库的路径和文件名为每个库生成一个唯一的标记。因此,我们建议您在代码中省略 library 指令,除非您打算生成库级文档。
和
<块引用>注意:要在生成的文档中包含任何库级文档,您必须指定库指令。 See issue 1082。
所以这是自动生成的,但它不适用于库级文档,不会为没有 library
指令的库生成文档。