Dartには、コンパイル時定数の概念があります。コンパイル時定数は、コンパイル時に解析および作成され、正規化されます。
たとえば、const
Pointのコンストラクタは次のとおりです。
class Point {
final num x, y;
const Point(this.x, this.y);
}
そして、これがあなたがそれを使う方法です:
main() {
var p1 = const Point(0, 0);
var p2 = const Point(0, 0);
print(p1 == p2); // true
print(p1 === p2); // true
}
これは自明ではない機能であり、他の動的言語の機能との類似点はないようです。const
すべてのフィールドがfinalである必要があり、constコンストラクターが必要であるなど、オブジェクトには制限があります。
Dartにコンパイル時定数があるのはなぜですか?