繁体   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