dart flutter中是否有类似于Kotlin中when case语句的语句?

klr1opcd  于 2023-07-31  发布在  Flutter
关注(0)|答案(2)|浏览(151)

下面是一个来自Kotlin的例子:

binding.orderStatusTextView.text = when (status) {
    2 -> "bad"
    3 -> "not bad"
    4 -> "good"
    5 -> "excellent"
    else -> "New"
}

字符串

iqxoj9l9

iqxoj9l91#

正如@Yeasin Sheikh建议的那样,你可以像这样使用开关。

String getStatus(int code){
    switch(code){
        case 2: return 'bad';
        case 3: return 'Not bad';
        case 4: return 'good';
        case 5: return 'Excellent';
        default: return "";
    }
}

_textController.text = getStatus(status);

字符串

nom7f22z

nom7f22z2#

在Dart 3中,switch语句等价于Kotlin的when语句:

void main() {
  int status = 4;

  final value = switch (status) {
    2 => 'bad',
    3 => 'not bad',
    4 => 'good',
    5 => 'excellent',
    _ => 'New'
  };

  print(value);
}

字符串
在Dart 2.0中,在匿名函数中使用switch与Kotlin的when子句非常匹配:

final statusValue = 4;

    final value = (status) {
      switch (status) {
        case 2:
          return 'bad';
        case 3:
          return 'Not bad';
        case 4:
          return 'good';
        case 5:
          return 'Excellent';
        default:
          return "";
      }
    }(statusValue);

    print(value);

相关问题