10
Dart具有編譯時常量的概念。編譯時常量在編譯時被解析和創建,並被規範化。爲什麼Dart有編譯時間常量?
例如,這裏是點一個const
構造:
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
對象有限制,如所有字段必須是最終的,它必須有一個const構造函數。
爲什麼Dart有編譯時常量?