当前位置: 首页 > 知识库问答 >
问题:

在Flutter中,美元符号放在类调用之前意味着什么?

梁韬
2023-03-14
 final database = await $FloorAppDatabase.databaseBuilder('app_database.db').build();

我搜索了很多,我能找到的Dart中美元符号的唯一含义是字符串插值,但似乎并非如此。

共有1个答案

宰父焕
2023-03-14

这不是Flutter或Dart约定--至少不是官方的约定:官方的Dart命名约定文档(截至2020年10月)没有提到在标识符名称中使用$

但是,我知道其他编程语言的生态系统确实使用美元符号(Sigil),我认为您链接到的floor数据库的作者继承了这种习惯。更具体地说,在Java中,通常使用$前缀作为工具生成的类型名,而不是手写的类型名(例如ORM实体类型),并且在JavaScript中使用RxJS可观察值的人将使用$作为变量名后缀。

由于$floordatabase是一个类型名,而不是变量或成员名,所以我假设它是从Java中获得的一个习惯:

Java:$字符应仅用于机械生成的源代码中,或者很少用于访问遗留系统上已存在的名称。

因此在本例中,您链接到的文档中有一个线索:

使用生成的代码。要获取数据库的实例,请使用生成的$floorappdatabase类,它允许访问数据库生成器

 类似资料:
  • 问题内容: 下面是代码片段。 有人可以向我解释@符号在Java中的含义吗? 问题答案: 这是一个注释。 注释是元数据的一种形式。它们提供的程序数据不属于程序本身。注释对其注释的代码的操作没有直接影响。 注释确实会影响工具和库对待程序的方式,进而会影响正在运行的程序的语义。可以从源文件,类文件中读取注释,也可以在运行时从中读取注释。

  • 问题内容: 使用或不使用变量访问变量之间有什么区别? 问题答案: 所述使它成为 用户定义 会话 变量。否则它将是 本地范围的 变量(在存储过程中),您必须先在本地使用它。如果需要,还可以设置 全局 系统 变量(使用或)。以及带有或或的会话 系统 变量。 有关详细信息,从文档:如果没有修饰符,改变会话变量(这就是为什么你在存储过程中的第一个当地人)。如果设置了多个系统变量,则该语句中的最新变量或修饰

  • 问题内容: 我知道这要求声明的作用。 但是有时候我在要求之后看到了两个括号。 问) 这是什么意思,它是如何工作的? 问题答案: 这是一种将所需模块的设置为功能的模式。要求该模块返回一个函数,并在require之后的括号中使用参数对函数求值。 在上面的示例中,您的文件如下所示: 这种模式通常用于将变量传递给模块,就像上面用变量所见。

  • 我正在使用AndroGuard从Android应用程序的源代码中收集API调用。一些检索到的API调用在其调用描述中有$符号,例如:或,而绝大多数调用都不包括这个美元符号。例如,。 $符号在一些编程中表示变量引用,但在API调用引用中找到它是很奇怪的。我在这里怎么解释?在API调用跟踪的上下文中,$符号意味着什么?

  • 来自请求率和性能指南-Amazon Simple Storage Service: Amazon S3会自动扩展到高请求率。例如,您的应用程序可以在存储桶中的每个前缀每秒至少实现3,500个PUT/POST/DELETE和5,500个GET请求。存储桶中的前缀数量没有限制。以指数方式提高您的读取或写入性能很简单。例如,如果您在Amazon S3存储桶中创建10个前缀以并行化读取,您可以将读取性能扩

  • 问题内容: 异步在Ajax中意味着什么?以及Ajax如何知道何时在不进行服务器轮询的情况下提取数据? 问题答案: 异步意味着脚本将向服务器发送请求,并继续执行它而无需等待答复。收到答复后,立即触发浏览器事件,该事件进而允许脚本执行关联的操作。 Ajax知道何时从服务器提取数据,因为您告诉它何时进行处理。