官术网_书友最值得收藏!

  • Flutter之旅
  • 張德立
  • 434字
  • 2020-09-08 18:11:40

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.

主站蜘蛛池模板: 甘德县| 彰化市| 嘉黎县| 固原市| 东莞市| 兴国县| 苗栗县| 淳安县| 修文县| 祁门县| 泸西县| 即墨市| 临汾市| 宜昌市| 博野县| 西昌市| 孟村| 东台市| 麻栗坡县| 泰兴市| 长寿区| 隆化县| 沂南县| 图木舒克市| 铅山县| 成都市| 申扎县| 古交市| 望谟县| 华蓥市| 扎囊县| 福贡县| 平塘县| 缙云县| 肇东市| 万载县| 黑山县| 岳西县| 西藏| 罗江县| 富锦市|