[英]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.