第2章 Dart基礎語法 -- 變量和常量

1. Dart基礎概述

開發(fā)Flutter項目時主要使用的Dart語言,Dart是谷歌開發(fā)的計算機編程語言,后來被ECMA(ECMA-408)認定為標準 。它被用于web迹炼、服務器、移動應用和物聯(lián)網(wǎng)等領(lǐng)域的開發(fā)塘偎。它是寬松開源許可證(修改的BSD證書)下的開源軟件疗涉。

Dart語言中一切都可以被認為是對象拿霉,它是單繼承的吟秩。可以轉(zhuǎn)譯為JavaScript绽淘,同時支持接口(interfaces)涵防、混入(mixins)、抽象類(abstract classes)沪铭、具體化泛型(reified generics)壮池、可選類型(optional typing)和sound type system。


2. 創(chuàng)建dart文件并執(zhí)行

在Android Studio中創(chuàng)建一個flutter項目杀怠,在test目錄中椰憋,新建test.dart文件,輸入代碼

main(){
  print("Hello World");
}

在代碼空白處赔退,右鍵橙依,執(zhí)行“Run test.dart”


運行和debug

下方控制臺可以看到運行結(jié)果


運行結(jié)果

文件中main()方法可以理解為C語言或Java語言中的main方法证舟,是整個程序的入口方法,print()方法的用途是將其中的參數(shù)打印在控制臺上窗骑。


3. 注釋

Dart語言的注釋有三種女责,與Java類似,分別是

  • 單行注釋
    使用//表示單行注釋
//這是注釋
print("這是代碼"); //注釋
  • 多行注釋
    使用/* ... */表示多行注釋
/*
* 多行注釋 
* 測試
*/
print("這是代碼");
  • 文檔注釋
    使用///表示單行文檔注釋
    使用/** ... */表示多行文檔注釋
///這是單行文檔注釋
print("這是代碼");
/**
* 這是多行文檔注釋
* 這是多行文檔注釋
*/
print("這是代碼");

文檔注釋可以通過dartdoc指令導出HTML格式的API文檔创译,生成位置項目\doc\api目錄中


4. 關(guān)鍵字

  • 關(guān)鍵字(33個):作為語法使用抵知,不能用作標識符
關(guān)鍵字
assert break case catch class
const continue default else enum
extends false final finally for
if in is new null
rethrow return switch superdo this
throw true try typedef var
void while with
  • 內(nèi)置標識符(17個):系統(tǒng)已經(jīng)聲明使用的標識符
內(nèi)置標識符
abstract as covariant deferred dynamic
export external factory get implements
import library operator part set
static typedef
  • Dart2新增異步關(guān)鍵字(6個)
異步關(guān)鍵字
async async* await await* yield yield*

5. 變量

可以使用var,Object软族,dynamic這三個關(guān)鍵字來聲明變量

  • 使用var聲明變量并初始化
    var表示類型推斷刷喜,當?shù)谝淮问褂媚撤N數(shù)據(jù)類型為變量初始化后,變量的類型就得到確認互订,不能再賦值為其他類型的變量
    正確示例:
var s = 23;
s = 12;  
print(s); //12

錯誤示例: s="趙四"報錯“A value of type 'String' can't be assigned to a variable of type 'int'”吱肌。大意為:String類型數(shù)據(jù)不能賦值給已推斷類型為int類型的變量

var s = 23;
s = "趙四";   //報錯:A value of type 'String' can't be assigned to a variable of type 'int'
print(s); 

  • 使用Object聲明變量并初始化
    Object類型為所有類型的基類,可以指代任何類型仰禽,所以可以重新賦值為新的類型數(shù)據(jù)
Object s = 23;
s = "趙四";
print(s);  //趙四

  • 使用dynamic聲明變量并初始化
    dynamic表示動態(tài)類型氮墨,可以在編程過程中改變變量類型,所以可以重新賦值為新的類型數(shù)據(jù)
dynamic s = 23;
s = "趙四";
print(s);  //趙四

除了使用上述三種推斷和動態(tài)類型聲明變量外吐葵,也可以使用具體的類型聲明變量规揪,這樣程序在處理時更易于控制。詳情請參照《第3章數(shù)據(jù)類型》


6. 常量

在Dart語言中温峭,使用final或const來表示常量猛铅,在聲明常量時,可以使用Object凤藏,dynamic或者具體的類型進行常量定義奸忽,也可以省略類型直接利用final或const關(guān)鍵字定義常量。
聲明常量時揖庄,不能使用var關(guān)鍵字
常量一旦初始化后栗菜,不可重新賦值

final Object s1 = 1;
final dynamic s2 = 1;
final int s3 = 1;  
final s4 = 1;
const Object s1 = 1;
const dynamic s2 = 1;
const int s3 = 1;  
const s4 = 1;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蹄梢,隨后出現(xiàn)的幾起案子疙筹,更是在濱河造成了極大的恐慌,老刑警劉巖禁炒,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件而咆,死亡現(xiàn)場離奇詭異,居然都是意外死亡幕袱,警方通過查閱死者的電腦和手機暴备,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來们豌,“玉大人涯捻,你說我怎么就攤上這事阁危。” “怎么了汰瘫?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵狂打,是天一觀的道長。 經(jīng)常有香客問我混弥,道長趴乡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任蝗拿,我火速辦了婚禮晾捏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哀托。我一直安慰自己惦辛,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布仓手。 她就那樣靜靜地躺著胖齐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗽冒。 梳的紋絲不亂的頭發(fā)上呀伙,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音添坊,去河邊找鬼剿另。 笑死,一個胖子當著我的面吹牛贬蛙,可吹牛的內(nèi)容都是我干的雨女。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼阳准,長吁一口氣:“原來是場噩夢啊……” “哼氛堕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起溺职,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岔擂,失蹤者是張志新(化名)和其女友劉穎位喂,沒想到半個月后浪耘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡塑崖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年七冲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片规婆。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡澜躺,死狀恐怖蝉稳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掘鄙,我是刑警寧澤耘戚,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站操漠,受9級特大地震影響收津,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浊伙,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一撞秋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嚣鄙,春花似錦吻贿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卧蜓,卻和暖如春剧蹂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烦却。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工宠叼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人其爵。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓冒冬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親摩渺。 傳聞我的和親對象是個殘疾皇子简烤,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容