[英]What are the type primitives in Dart / Flutter?
我期待一个包含String
、 Class
、 Function
(?) 之类的列表。
我似乎在Dart 文档中的任何地方都找不到这个。
具体来说,实际上现在我正在写一些我想传入 function 作为参数的东西,所以我试图弄清楚函数/方法类型是什么(假设这是一个东西),但更一般地说,我想要参考所有 Dart 类型原语。
大多数 Dart 类型只是类/接口类型。 Unlike Java, Dart does not have "primitive" value types that are not interfaces, so in Dart int
, double
, String
, bool
and Null
normal interfaces which are subtypes of Object?
(以及Object
除了Null
),并且这些值只是普通对象。
Dart 确实有一些类型和类型构造函数,它们不是类/接口类型,或者具有阻止您实现它们的特定规则。 尤其是:
void
- 相当于Object?
,但您不能使用该值。 您可以从void
function 返回任何值,但不应有人使用它。dynamic
- 相当于Object?
,但没有 static 类型检查。 您可以将任何值强制转换为dynamic
,然后将其用作任何类型,如果您犯了错误,则会出现运行时错误。Never
- 所有类型的空子类型。 返回Never
的 function 保证会抛出。type Function(argTypes)
- function 类型。 有些值是函数。 它们仍然是对象,但不是类/接口实例。 接口Function
和Object
的子类型。FutureOr<type>
- type
和Future<type>
的超类型。type?
- 可以为空的类型。 type
和Null
的超类型。 然后以下接口有限制,阻止您在自己的类中实现它们: Null
、 int
、 double
、 num
、 bool
、 String
和Function
。
因此,对于 function 类型,您可以将它们写为 fx, int Function(int, {int y})
。
我想这就是你要找的: dart:core library :
每个 Dart 程序的内置类型、collections 和其他核心功能。
特别是这部分: Classes ,您可以在其中找到:
字符串UTF-16 代码单元的序列。 [...]
Object所有 Dart 对象的基础 class。 [...]
Function基础 class 适用于所有 function 类型。 [...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.