在 Dart 中使用三班次 (>>>) 运算符



假设Dart 2.14包含三重移位操作符(>>>),但当我试图使用它时,我得到一个错误:

print(0xff >>> 1);

编译器突出显示三个>中的最后一个,并说:

期望一个标识符。

在我的本地机器和DartPad上都是如此。两者都使用了Flutter 2.5附带的Dart 2.14版本。

是我做错了什么还是这是一个问题与释放?

你可以参考我在这里的相关回答。


任何语言特性在给定的版本中引入的,要求该版本作为最小约束为了你的项目。这意味着你需要更新你的pubspec.yaml:

environment:
sdk: '>=2.14.0 <3.0.0'

现在,你可以使用:

var foo = 42;
foo >>> 2;

如果编译此代码,所需的Dart SDK版本2.14.1.

Dart语言站点的文档和示例使用版本2.13.4的Dart SDK。https://dart.dev/tools/sdk。

因此,当您尝试使用Flutter时,它使用SDK版本小于2.14.1.

下载最新的Flutter SDKhttps://flutter.dev/docs/get-started/install/windows和替换旧的那个。更新pubspec.yaml文件

environment:
sdk: ">=2.14.0 <3.0.0"

在没有Flutter应用程序的情况下运行代码:

从https://dart.dev/tools/sdk/archive下载最新Dart SDK

  • 使用Android Studio IDE创建项目

  • 创建一个新的Flutter项目。选择飞镖

  • LocateDart SDK路径,您下载的文件(必须提取)

  • 提供您的项目名称位置和.

  • 创建一个Dart文件并编写以下代码行。

    void main() {
    final value = 0x22;
    print("Current value : $value");
    print("Unsigned shift right value is : ${(value >>> 4)}");
    }
    

    输出
    F:/Dart/dart-sdk/bin/dart.exe --enable-asserts F:FlutterTestDartLanguagemain.dart
    Current value : 34
    Unsigned shift right value is : 2
    Process finished with exit code 0
    

享受快乐的编码。由于

最新更新