Dart語言學習(二) Dart的常量和變量


1.使用var聲明變量,可賦予不同類型的值

Dart是一個強大的腳本類語言,可以不預先定義變量類型 ,自動會類型推導

Dart中定義變量可以通過var關鍵字可以通過類型來申明變量

    var str='this is Dart var';
    
    String str='this is Dart var';

    int str=123;
 注意: var 后就不要寫類型,寫了類型不要var;兩者都寫var aint = 5; 會報錯

2.未初始化時候,默認值未null

  var a;
  print(a);

  a = 10;
  print(a);

  a = 'Hello Dart';
  print(a);

輸出:

null
10
Hello Dart

3. 常量

final 和 const修飾符用來修飾常量
const值不變 一開始就得賦值 final 可以開始不賦值 只能賦一次 ;
而final不僅有const的編譯時常量的特性,最重要的它是運行時常量,並且final是惰性初始化,即在運行時第一次使用前才初始化 永遠不改量的量,請使用final或const修飾它,而不是使用var或其他變量類型。

3.1 使用final聲明一個只能賦值一次的變量(可以開始不賦值)

3.2 使用const聲明常量 使用const聲明的必須是編譯器常量 (一開始就要賦值)

4. 聲明變量的方式

var      : 【編譯期】確定【變量類型】
dynamic     : 【運行期】確定【變量類型】
bool 
int 
double
String 
List
Map

 

注意:
1.所有未初始化的變量的初始值為null。這是因為Dart將所有值都視為對象
2.var實際上是編譯期拋給我們的“語法糖”,一旦被編譯,
編譯期會自動匹配var 變量的實際類型,並用實際類型來替換該變量的申明,
這看上去就好像我們在編碼的時候是用實際類型進行申明的。
而dynamic被編譯后,實際是一個 object類型,
只不過編譯器會對dynamic類型進行特殊處理,
讓它在編譯期間不進行任何的類型檢查,而是將類型檢查放到了運行期。

 

main() {
  var a = 10;
  print(a);//10
//  a = "dart"; //寫法錯誤

  dynamic b = 20;
  print(b); //20
  b = "JavaScript"; //正確
  print(b); //JavaScript

  var list = new List<dynamic>();
  list.add(1);
  list.add("hello");
  print(list);//[1, hello]

}

5.聲明常量的方式的區別

final     :【運行期】確定【常量值】
const     :【編譯期】確定【常量值】
注意:
1.final 不必須初始化,只能賦值一次,且不能修改值,賦值可以是常量也可以是變量。
const必須初始化,只能賦值一次,且不能修改值,賦值必須是常量。
2.const必須根據可在編譯時計算的數據創建它們。
const對象無法訪問運行時需要計算的任何內容。
1+2是一個合法的const表達式,但new DateTime.now()不是(合法的const表達式)
3.使用const關鍵字聲明的變量是隱式final的。
可以把const 常量賦給 final 變量,反過來不可以。
4.final和const可以與變量的數據類型一起使用,也可以與 var 關鍵字一起使用。

 6.Dart 命名規則

1.變量名稱必須由數字、字母、下划線和美元符($)組成。
2.注意:標識符開頭不能是數字
3.標識符不能是保留字和關鍵字。 
4.變量的名字是區分大小寫的如: age和Age是不同的變量。在實際的運用中,也建議,不要用一個單詞大小寫區分兩個變量。
5、標識符(變量名稱)一定要見名思意 :變量名稱建議用名詞,方法名稱建議用動詞

 

   本文原創鏈接:https://www.cnblogs.com/jukaiit/p/12234921.html

Dart學習系列文章:https://www.cnblogs.com/jukaiit/category/1636484.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM