首页 > 解决方案 > “:”在 Dart 中是什么意思或做什么?

问题描述

我一直试图清楚地解释 : 在飞镖中的含义。

据我所知,它似乎是某种 operator ,但我无法清楚地解释它到底做了什么。

我知道它习惯于将东西分配给其他东西,但我不确定具体情况。

我试过谷歌搜索它,没有运气。

我试过搜索飞镖文档。

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']);
      }
}

标签: classflutterdartoperatorssubclass

解决方案


在示例 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。如果此条件为真,??则返回之后的第一个表达式。否则,如果条件为假,:则返回后面的表达式。


推荐阅读