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

44u64gxh  于 9个月前  发布在  Flutter
关注(0)|答案(2)|浏览(117)

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

我期待一个包含StringClassFunction(?)的列表。
我在Dart documentation中找不到这个。
具体来说,现在我正在写一些东西,我想把函数作为参数传递进去,所以我试图弄清楚函数/方法类型是什么(假设这是一个东西),但更一般地说,我想引用所有的Dart类型原语。

vc6uscn9

vc6uscn91#

大多数Dart类型只是类/接口类型。与Java不同,Dart没有不是接口的“原始”值类型,因此在Dart中,intdoubleStringboolNullObject?的子类型(以及Object的子类型,除了Null),并且值只是普通对象。
Dart确实有一些 typestype constructors,它们不是类/接口类型,或者有特定的规则阻止你实现它们。特别是:

  • void-相当于Object?,但不允许使用该值。您可以从void函数返回任何值,但不应该有人使用它。
  • dynamic-相当于Object?,但没有静态类型检查。您可以将任何值强制转换为dynamic,然后将其用作任何类型,如果出错,则会出现运行时错误。
  • Never-所有类型的空子类型。返回Never的函数保证抛出。
  • type Function(argTypes)-函数类型。有些值是函数。它们仍然是对象,但不是类/接口示例。接口FunctionObject的子类型。
  • FutureOr<type>-typeFuture<type>的超类型。
  • type?-可空类型。typeNull的超类型。
  • 编辑:现在记录类型为(int, int)({int x, int y})

然后,以下接口有限制,阻止您在自己的类中实现它们:NullintdoublenumboolStringFunction
因此,对于函数类型,您可以将它们写为,fx,int Function(int, {int y})

ddarikpa

ddarikpa2#

我想这就是你要找的:dart:core library
每个Dart程序的内置类型、集合和其他核心功能。
特别是这一部分:类,在那里你可以找到:

String一个UTF-16编码单元的序列。[...]
Object所有Dart对象的基类。[...]
Function所有函数类型的基类。[...]

相关问题