// 前言,學(xué)習(xí)dart需要先安裝dart環(huán)境, 很簡單,直接進入dart官網(wǎng)下載安裝就可以了
// 官網(wǎng) https://dart.dev/
// dart環(huán)境搭建, 官方文檔: https://dart.dev/get-dart
// 這是基本的入口函數(shù)main函數(shù),
// main() {
//? print("你好!");
// }
// dart和js一樣可以不預(yù)先定義變量類型, 自動會類型推到
// dart中定義變量可以通過var關(guān)鍵字, var name = "張三"
// 也可以通過類型來申明變量 String name = "張三"
// var 不能喝類型申明同時使用, var String name = "張三", 這是錯誤的
// 表示main方法沒有返回值
void main() {
? print("你好!Dart");
? var age = 10;
? String name = "張三";
? print(name);
? print(age);
? // var String des = "hello" 這是錯誤的
? finalAndConst();
}
// 1.字符串
String str = "我是字符串";
// 2.數(shù)字類型
int num = 10;
// dart里面有類型校驗
// 注意, dart和js的預(yù)定義的區(qū)別, js變量可以任意賦值, dart的變量在預(yù)定義之后,只能賦值相同類型的值,
// 例如 var str = ""將str預(yù)定義成字符串類型的變量, 當(dāng)賦值int類型就會報錯 str = 10, 會報錯
// 同樣的用類型定義的變量, 也不能給不同的類型值 String str1 = ""; 如果寫str = 10, 也是報錯
/**
* dart的命名規(guī)則:
* 1.變量名稱必須由數(shù)字,字符,下劃線或者美元符$組成
* 2.標(biāo)識符開頭不能是數(shù)字
* 3.標(biāo)識符不能是保留字和關(guān)鍵字
* 4.變量的名稱是區(qū)分大小寫的
* 5.標(biāo)志服一定要見名思意:變量名稱建議用名詞, 方法名稱建議用動詞
*/
/**
* Dart 常量: final 和 const 修飾符
*? ? const值不變, 一開始就要賦值
*? ? final可以開始不復(fù)制, 但是只能賦值一次,final不僅有const的編譯時常量的屬性, 重要的是他是運行時常量
*? ? ,并且final是惰性化初始化, 即在運行時第一次使用前才初始化
*? ? 是他運行時
*? ? 永遠(yuǎn)不變的量,用final或者const修飾
*/
void finalAndConst() {
? const PI = 3.141592653;
? // PI = 2? //const修飾改值會報錯
? final PI1 = 3.14;
? // PI1 = 3? //final修飾改值會報錯
? // 下面是final的運行時
? final time = DateTime.now();
? print(time);
? // const就不能這樣后面賦值一個函數(shù)
? // const time1 = DateTime.now();//這里是需要一個常量值, 這樣賦值會報錯
}