繁体   English   中英

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

[英]What are the type primitives in Dart / Flutter?

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

我期待一个包含StringClassFunction (?) 之类的列表。

我似乎在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 类型。 有些值是函数。 它们仍然是对象,但不是类/接口实例。 接口FunctionObject的子类型。
  • FutureOr<type> - typeFuture<type>的超类型。
  • type? - 可以为空的类型。 typeNull的超类型。

然后以下接口有限制,阻止您在自己的类中实现它们: NullintdoublenumboolStringFunction

因此,对于 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM