[筆記]swift part 1

最近看了一下swift,順手記錄一下,一開始當然是最基本的語法囉,在新的xcode中出現了playground,這是一個很適合用來練習基本的語法,不用特地去建立一個大專案,也不用特地去編譯整個專案才能得到結果,這感覺跟其他語言在終端機下執行很像。以下就是簡單的記錄

一開始建立好playground的檔案就可以看到他已經為你建立好基本的範例了!但這裡並不需要使用到Cocoa,因為基礎的語法練習似乎還不會用到內建的東西,所以其實可以把它刪除。

var(變數)

變數的定義格式如下

1
var VAR_NAME:TYPE = ASSIGN_VALUE

一開始需要使用var來定義這是一個變數,至於變數的形態你可以自行定義或是交由編譯器來辨別,然後變數顧名思義就是會變得數,所以之後變數的直可以任意給予新的值。變數的值可以變,但變數的形態不能變,看到str3string的形態,後面要assign一個數字就會出現錯誤。

let(常數)

常數的定義與變數不同,是使用let這個keyword,而且常數只能在一開始assign值,事後並不能更改他

for(回圈)

下面這個範例很明顯要印出1到5的數字但不包含5(也就是1到4),但這裡有個小小不一樣的地方,在之前的版本使用1..5就可以了,這根ruby很像,但是後來在beta3就不能使用了,要改用..<

如果單存只是想要跑回圈並無任何變數可以將i取代為_(底線)

現在要包含最後一個數字的範圍也要跑,可以改用...(三個點)

如果不想遞增的跑回圈,例如基數偶數,可以改用下面這種方式來寫,這跟以前原本的for回圈一樣,差別就是不用小括號

if(如果…)

if,如果條件成立,就會進去執行,這很簡單啦!就不再費言了!

我覺得比較特別也比較好的地方是這個!以往1也就是會被認作為true,所以不小心該變數的值就是1,那這樣判斷一定會通過,但是你並不是因為該變數為1就想讓它通過。但swift似乎不允許這樣,所以當你這樣定義的時候就會出現錯誤訊息,如下圖

switch(選擇)

這裡可以看到我將money變數定義為3_000_000,這個_底線,在swift終是被允許的,主要是讓數字容易閱讀。而swift裡的switch case內是不需要寫break的,它自行會為每個casebreak

多條件的要執行同一個的情況呢?直接在case內定義多個條件,用逗點隔開,甚至你可以使用範圍的方式..<,如下圖

Fallthrough(貫穿)

如果你希望繼續往下執行下一個case,你可以使用fallthrough,就會繼續往下一個case執行,但下一個如果沒有fallthrough就會停止,也就是說他只會執行到下一個就停止,除非你每一個case內都有宣告

Tuple(元組、組值) use with Switch

這給我的感覺有點像是陣列,但其實不是,我覺得這很好用,尤其是在回傳值得時候。下面這個範例結合switch來使用,這邊定義一個tuple的變數,裡面存放了兩個數字!很簡單吧

也可以使用條where條件檢查

Labeled Statements(帶標簽的語句)

這個我覺得蠻有趣的!可以去控制區塊的回圈,直接看code可能比較清楚了

Array(陣列)

這邊我覺得比較不一樣的是,陣列可以用+=直接在陣列後面加上(也就是串聯起來),其他都蠻好理解的!

清空陣列

重複建立同樣的值,如果要將兩個陣列串聯起來,一樣使用+號就可以,但需注意這兩個陣咧的形態必須都一樣,下列這個範例一個是Int另一個是Double那這樣就不能串聯起來了。

Dictionary(字典)

定義方式有兩種,如下圖

字典的操作也很簡單