Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter Dart中类名开头的美元符号$是什么意思?_Flutter_Dart - Fatal编程技术网

Flutter Dart中类名开头的美元符号$是什么意思?

Flutter Dart中类名开头的美元符号$是什么意思?,flutter,dart,Flutter,Dart,在生成的类中经常可以观察到美元符号。 类型也以$符号开头。我知道Dart语言允许类名包含美元符号,但可能有一个隐藏的含义,我不知道?我在stackoverflow上发现了类似的问题,但它是在2012年提出的,答案不再有效 例1 class Counter { int _counter = 0; int next() => ++_counter; } class Operation { void operate(int step) { do

在生成的类中经常可以观察到美元符号。 类型也以
$
符号开头。我知道Dart语言允许类名包含美元符号,但可能有一个隐藏的含义,我不知道?我在stackoverflow上发现了类似的问题,但它是在2012年提出的,答案不再有效

例1

class Counter {
      int _counter = 0;
      int next() => ++_counter;
    }
    class Operation {
      void operate(int step) { doSomething(); }
    }


    class $OperationWithCounter = Operation with Counter;

    class Foo extends $OperationWithCounter{
      void operate([int step]) {
    super.operate(step ?? super.next());
    }

Dart标识符可以包含
$
。这只是该语言的另一个字母,但它传统上是为生成的代码保留的。这使得代码生成器(在很大程度上)不必担心命名冲突,只要在他们创建的名称中的某个位置放置
$


在中,该名称仅用于表示原始程序中未出现的合成名称。它是由您发现它的地方描述的脱胶“生成”的。

2018年的同一个问题该问题可能相同,但该问题没有答案。答案中的链接不起作用。