Dart/Flutter中的基本类型原语是什么?

6

Dart / Flutter中的类型原语是什么?

我希望得到一个列表,其中包括像StringClassFunction等内容。

我似乎无法在Dart文档中找到这个列表。

具体来说,我正在编写一些代码,在其中我想将函数作为参数传递,因此我正在尝试弄清楚函数/方法类型是什么(假设这是一种东西),但更普遍地说,我想要所有Dart类型原语的参考。

2个回答

15
大多数Dart类型只是类/接口类型。与Java不同,Dart没有“原始”值类型,这些类型不是接口,因此在Dart中,intdoubleStringboolNull是普通接口,它们是Object?的子类型(除了Null之外,还是Object的子类型),而这些值只是普通对象。
Dart确实有一些不是类/接口类型的类型类型构造器,或者有特定的规则阻止你实现它们。特别是:
  • void - 等同于 Object?,但不允许使用该值。你可以从 void 函数返回任何值,但是没有人应该使用它。
  • dynamic - 等同于 Object?,但没有静态类型检查。你可以将任何值转换为 dynamic,然后将其用作任何类型,如果出错会在运行时报错。
  • Never - 所有类型的空子类型。返回 Never 的函数保证会抛出异常。
  • type Function(argTypes) - 函数类型。有些值是函数。它们仍然是对象,但不是类/接口的实例。是 FunctionObject 接口的子类型。
  • FutureOr<type> - typeFuture<type> 的超类型。
  • type? - 可为空类型。是 typeNull 的超类型。
  • 编辑:现在还有记录类型,例如 (int, int)({int x, int y})
以下接口有限制,阻止您在自己的类中实现它们:Null、int、double、num、bool、String和Function。
因此,对于函数类型,您可以将其写为fx,例如,int Function(int, {int y})。

3
我认为这是您正在寻找的内容:dart:core library

内置类型、集合和其他每个Dart程序的核心功能。

具体来说是这部分:Classes,在那里您可以找到:

String UTF-16代码单元序列。[...]

Object 所有Dart对象的基类。[...]

Function 所有函数类型的基类。[...]


Dart 的其他原始类型包括 int、double 和 bool。 - Pi Da

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接