2.1.2 變量與常量
變量定義
和大多數(shù)現(xiàn)代編程語言一樣,Dart語言支持類型推斷,但不同于JavaScript或Python。Dart是強類型的編程語言。定義變量時可以使用var關(guān)鍵字來替換變量類型,示例如下:
---->[day02/02/var_const_final.dart]---- main(){ var age = 18; var isMan = true; var name = '張風捷特烈'; var languages = ['Java', 'Dart', 'Python', 'C++', 'Kotlin']; var languages2 = {'Java', 'Dart', 'Python', 'C++', 'Kotlin',"Java"}; var map = {1: 'one', 2: 'two', 3: 'three'}; var className = #Person; }
提示:如果只是用var聲明變量,未賦值,那么該變量的數(shù)據(jù)類型是可以修改的(如下代碼左側(cè)所示)。如果聲明的同時進行賦值,那么該對象的類型就是固定的,不可修改(如下代碼右側(cè)所示)。原因如下圖:如果只聲明,變量的類型是dynamic,即可變的;當聲明并賦值時,它的類型就能被固定。
常量定義
常量就是一旦確定就不能再改變的值,在Dart語言中,用const關(guān)鍵字或final關(guān)鍵字定義常量。當對final或者const修飾的量再進行賦值時就會報錯,如下所示:
final PI = 3.14159265;//final定義常量 PI=4;// ERROR: 'PI', a final variable, can only be set once. const Pi = 3.14159265;//const定義常量 Pi=4;// ERROR: Constant variables can't be assigned a value.
兩者的區(qū)別在于const是編譯期的常量,final是運行時常量。也就是在運行期間才能獲取到的常量必須用final定義,如下所示:
final f = DateTime.now(); // OK const c = DateTime.now(); // ERROR //Const variables must be initialized with a constant value.
推薦閱讀
- Java逍遙游記
- Learning NServiceBus(Second Edition)
- C語言程序設(shè)計(第3版)
- Magento 2 Theme Design(Second Edition)
- 基于Java技術(shù)的Web應(yīng)用開發(fā)
- Java性能權(quán)威指南(第2版)
- Android開發(fā):從0到1 (清華開發(fā)者書庫)
- Angular開發(fā)入門與實戰(zhàn)
- C語言程序設(shè)計
- Python3.5從零開始學
- HoloLens與混合現(xiàn)實開發(fā)
- Java 9 with JShell
- Learn Linux Quickly
- Visual FoxPro程序設(shè)計實驗教程
- Unity Certified Programmer:Exam Guide