Dart開發(fā)環(huán)境安裝
概述
Dart可以用來開發(fā)移動(dòng)應(yīng)用,web應(yīng)用镶苞、開發(fā)命令行應(yīng)用和服務(wù)端應(yīng)用疏魏,主要有以下ide選擇
1.VS Code????在VS Code中安裝Dart插件來開發(fā)
2.Android studio 主要用來移動(dòng)應(yīng)用開發(fā)
3.webStorm,Intellij,DartPad在線進(jìn)行
Dart SDK概要
1.Dart SDK包含web開發(fā),命令行和服務(wù)端應(yīng)用所需要的庫和命令行工具服协,如果只是想移動(dòng)開發(fā)胧卤,則不需要Dart SDK,只需要安裝flutter即可
安裝步驟參考(https://dart.dev/get-dart)
2.設(shè)置環(huán)境變量
Dart基本概念
1.一切皆對(duì)象唯绍。所有變量的引用都是對(duì)象,數(shù)字枝誊,函數(shù)况芒,null都是對(duì)象,都繼承自object類
2.Dart聲明變量類型可選侧啼。Dart可以進(jìn)行類型推斷牛柒,dynamic可以聲明一個(gè)不確定的類型
3.Dart支持泛型堪簿,List<int>或List<dynamic>(由任何類型對(duì)象組成的列表)
4.Dart支持頂級(jí)函數(shù),支持屬于類或?qū)ο蟮暮瘮?shù)皮壁,支持嵌套函數(shù):main
5.Dart支持頂級(jí)變量椭更,支持屬于類或?qū)ο蟮淖兞俊?/p>
6.標(biāo)識(shí)符下劃線開頭表示庫內(nèi)私有:_number,_name()
7.標(biāo)識(shí)符字母,數(shù)字蛾魄,下劃線虑瀑,由字母或下劃線開頭
8.Dart表達(dá)式有值,語句沒有值滴须。
9.Dart工具可以顯示警告和錯(cuò)誤兩個(gè)類型
變量
~? 變量?jī)H存儲(chǔ)對(duì)象的引用
~? 變量申明的時(shí)候可以不指定類型
~? ?未初始化的變量默認(rèn)值都是null
~? 可以使用關(guān)鍵字final或者coast修飾變量舌狗,final只能賦值一次,coast為編譯時(shí)常量扔水,頂層的final變量或者類的final變量在第一次使用的時(shí)候被初始化
Dart方法
main()函數(shù)
每個(gè)dart程序必須有一個(gè)main()函數(shù)痛侍,作為程序的入口,返回值為void并且有一個(gè)List<String>類型的可選參數(shù)
函數(shù)作為一級(jí)對(duì)象
可以將函數(shù)作為參數(shù)傳遞給另一個(gè)函數(shù)
可以將函數(shù)賦值給另個(gè)變量
詞法作用域
變量的作用域在寫代碼的時(shí)候就確定了魔市,大括號(hào)內(nèi)的變量只能在大括號(hào)內(nèi)訪問
詞法閉包
閉包:即一個(gè)函數(shù)對(duì)象主届,即時(shí)函數(shù)對(duì)象的調(diào)用在他原始作用域之外,依然能夠訪問在它詞法作用域內(nèi)的變量待德。
返回值
所有函數(shù)都有返回值君丁,沒有顯示返回語句的函數(shù)最后默認(rèn)執(zhí)行return null
流程控制語句
if(){
}else{
}
while??
do while
for?
for.each
for.in
switch
break:用來結(jié)束最近的while do while for 或者switch語句,并將程序的執(zhí)行權(quán)傳遞給緊接在被終止語句之后的語句
continue:語句導(dǎo)致最近的循環(huán)語句的當(dāng)次迭代提前結(jié)束
類型:枚舉将宪,枚舉類型是一種特殊的類型绘闷,用于定義一些固定數(shù)量的常量值。
使用enum關(guān)鍵字來定義枚舉较坛,
每一個(gè)枚舉都有一個(gè)名為index成員變量的Getter方法印蔗,該方法將會(huì)返回以0為基準(zhǔn)索引的位置值
使用枚舉類的values方法獲取一個(gè)包含所有枚舉值的列表。
在switch語句中使用枚舉燎潮,但是需要注意的是必須處理枚舉值的每一種情況喻鳄。
使用關(guān)鍵字static可以聲明類變量或類方法
泛型
正確使用泛型可以生成更安全的代碼
減少重復(fù)代碼