iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
自我挑戰組

30 天初探 Flutter系列 第 4

Day 4 - Dart 的變數與資料

  • 分享至 

  • xImage
  •  

變數

Dart 使用 var 來宣告變數,什麼是宣告變數呢?簡單說可以想成我們告訴電腦說請幫我做一盒子叫做 name ,而這個盒子中要放入我的名字叫做 麵包超人,這時候我們透過 Dart 告訴電腦的語法就是 var name = '麵包超人' ,也可以使用 type 來宣告如 int
( 題外話:身為 JS 開發者,看到 var 會有一個莫名的恐懼感 XDDD )

而變數可以重新賦值,什麼意思呢?下方直接用例子來說明

(這邊要先提一下,Dart 是屬於單執行緒的語言,簡單說就是程式碼會由上而下依序執行)

void main() {
	// 使用 var 宣告變數
  var a = 50;
  // 使用 type 宣告變數
  int b = 100;
	// 在字串中使用 $ 符號,可印出變數的值
  print("a : $a");
  print("b : $b");
	
	// 改變變數值
  a = 6;
  b = 168;
	// 印出來的結果會是重新賦值的結果
  print("a : $a");
  print("b : $b");
}

驗證:

Imgur

常數

宣告常數使用 final 與 const,常數的特性就是宣告後不能再被重新賦值,否則會報錯。

用剛剛的例子來看,將 a 跟 b 分別以 final 和 const 宣告

Imgur

那 const 跟 final 又有什麼差異呢?

const 編譯前就必須是一個資料值,而 final 則可以經歷過編譯

實際來看個下面例子,雖然值都不能被改變,但可以發現 const 是較嚴格的~

Imgur

Imgur

Imgur

資料型態

上方一直時不時出現 int ,這邊就簡單介紹一下 Dart 中有的資料型態 ( Data Type ),主要有下列幾種:

  • Number (數值):分為浮點數 double 和整數 int ,繼承 num Class,因此也可以用 num 來宣告
  • Sting (字串):UTF-16 編碼格式,使用單或雙引號來表示
  • Boolean (布林值):分為 True 與 False
  • Lists(集合):List 為有序的集合,使用 [ ] 定義,並且有從 0 開始的索引值,相應其他語言的話可以想成是陣列(Array)的概念
  • Set (集合):Set 沒有索引值也不可重複,使用 { } 初始化
  • Map (集合):Key-Value 結構的資料,使用 { } 定義,key 不能重複( Value 則沒有限制)

至於操作與方法,我個人喜歡以做中學的方式進行,概念先有印象,實作上有碰到再深入理解會更有印象~

OK!我們明天見~


上一篇
Day 3 - Dart 開場
下一篇
Day 5 - Dart 的運算子與函式
系列文
30 天初探 Flutter14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言