簡體   English   中英

“:”在 Dart 中是什么意思或做什么?

[英]what does ":" mean or do in Dart?

我一直在努力得到一個明確的解釋:dart 中的含義。

據我所知,它似乎是某種運算符,但我無法清楚地解釋它到底做了什么。

我知道它習慣於將東西分配給其他東西,但我不確定具體細節。

我試過谷歌搜索,沒有運氣。

我嘗試搜索 dart 文檔。

https://dart.dev/guides/language/language-tour#operators

我知道它被用作條件表達式的一部分,如下所示:

https://dart.dev/guides/language/language-tour#conditional-expressions

以下是如何使用它的示例:

示例 1:

class someBloc extends Bloc<someEvent, someState> {
    someBloc() : super(someState.initial());
}

示例 2:

class someClass {
  final String requestType;
  final String name; 
   
  factory someClass.fromJson(Map<String, dynamic> json) {
        return SomeClass(
            requestType: json['Type'],
            name: json['Name']);
      }
}

在示例 1 和 2 中:

:用於設置命名參數。 例如,假設我想創建一個Card小部件。 card小部件可選擇采用名為elevation命名參數。 因此,我可以這樣做:

Card(
  elevation: 4.0,
)

另一種方式:用於編寫快速條件表達式。

final String isMyListEmpty = myList.isEmpty ?? 'Yes, the list is empty' : 'No, the list is not empty';

在這個例子中,我們的條件是myList.isEmpty 如果此條件為真,則??之后的第一個表達式被退回。 否則,如果條件為假,則返回:之后的表達式。

它只是一個賦值運算符。 您為小部件屬性分配一個值。 例如,容器小部件有許多屬性,如顏色或高度:

  Container(
    margin: const EdgeInsets.all(10.0),
    color: Colors.amber[600],
    width: 48.0,
    height: 48.0,
  ),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM