[英]What does mean of using the “{}” keyword in class constructor (Dart)?
如果這聽起來像一個非常愚蠢的問題,我很抱歉,但它在 Dart 和 Flutter 中確實是新的。 在 Flutter 的示例中,我經常看到這樣的構造函數:
class CalTable extends StatefulWidget {
// Constructor with initializer ( : )
CalTable({Key key}) : super(key: key);
@override
_CalTableState createState() => _CalTableState();
}
我知道 {} 是 MAP 還是 SET。 但是這里的 {} 到底是什么意思? 為什么它只用於傳遞一個值Key 鍵?
提前致謝
它與地圖或集合無關,這是 Dart 標記命名參數的方式。
在您的特定情況下, CalTable({Key key})
意味着您有一個名為key
的參數。 它不是位置的,所以你不能只寫CalTable(yourKey)
。 它的名字,你必須寫CalTable(key: yourKey)
。 此外,除非另有說明,否則所有命名參數都是可選的,因此CalTable()
也是有效的。
也就是說,我鼓勵您更新到 Dart 和 Flutter 的最新版本,因為您的示例太舊了,由於 null 安全性,它不會在今天的版本中編譯。
請參閱參數的語言導覽以了解有關命名參數的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.