iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 5
1

真的是鐵人

鐵人第五天,已經快想不出還可以做什麼了,昨天宿醉還要發文 (抓破頭

只好藉著這次鐵人競賽來挑戰介紹語法,順便重溫一次語法的摧殘...
如果有介紹模糊不清的地方,麻煩大大稍微見諒,對程式碼有障礙男子

Swift 基礎內容介紹

(對我就是連這個都要介紹)

常量與變量

常量與變量就是把一個你聲明的名字與一個特定類型的值,把兩者關聯起來。
( 常量裡面的值是無法被更改的,變量則可以被設置成其他的值。)

常量和變量的名字幾乎可以使用任何文字或是符號,但還是有幾個例外的(不能包含空白字符、數學符號、箭頭、保留的(或者無效的)Unicode 碼位、連線和製表符,也不能以數字當開頭。)
https://ithelp.ithome.com.tw/upload/images/20171224/20107701HDY2DqKw9d.png

一旦聲明了一個常量或變量,就不能使用相同的名字聲明,也不能更改儲存其他類型的值,常量與變量之間也不能夠做轉換。

聲明常量和變量

  • 使用 let 來聲明常量:
    https://ithelp.ithome.com.tw/upload/images/20171224/20107701PFVPoytmi7.png

  • 使用 var 來聲明變量:
    https://ithelp.ithome.com.tw/upload/images/20171224/20107701zFsD5ensrF.png
    (前輩說要清楚理解這些程式碼的聲明的順序過程,不要理解交代的模糊不清。)

你也可以在一行程式碼內聲明多個變量或常量,用逗號 "," 將各個常量或變量分隔開來
https://ithelp.ithome.com.tw/upload/images/20171224/20107701OJO9n9u09D.png

你可以把變量的值更改為其他相同類型的值。
https://ithelp.ithome.com.tw/upload/images/20171224/20107701Mt1kfePHuB.png
常量的值一旦設定則不能再被改變,假如你嘗試要去改變一個常數的值,則 Swift 會叫你將 let 改成 var 去修正這個錯誤。
https://ithelp.ithome.com.tw/upload/images/20171224/20107701v59JF6xrQG.png

所以當你想要一個不會改變的儲存值,就使用 let 去聲明它。反之,如果需要能夠修改的儲存值,就使用 var 聲明。

類型標註

當你在聲明一個常數或變數的時候,同時你也可以在該程式碼後頭加上儲存值的類型,來明確標註該儲存值的類型。
https://ithelp.ithome.com.tw/upload/images/20171224/20107701LRQIDHItOQ.png

你也可以同時為多個變量或是常量定義它們的類型,一樣用逗號分隔他們,然後在最後加上類型,也可以各自在他們後面加上各自的儲存類型。
https://ithelp.ithome.com.tw/upload/images/20171224/20107701ISvmXC1foa.png

所以大致上的意思與上面相同,只是多說明了該常數或是變量的儲存類型。但是如果你在聲明一個常量或變量時就給它一個初始值,那麼 Swift 會自動判斷這個值的類型,所以你不需要經常去定義它的類型。

let a = "台南" 他會自動判斷是 String
let b = 6 自動判斷是 Int
let c = 1.23456 判斷是 Double

輸出常量和變量

你可以使用 print 來輸出一個變數或是函數中的值,你也可以使用字符串插值把他加入更長的字符串中,將常量或變量名放入括號中並在括號前使用反斜線 "" 使用,就想下面的例子 (apple)。

https://ithelp.ithome.com.tw/upload/images/20171224/20107701lDxtsrc9GF.png

數值類型轉換

常常我們在程式碼裡面會聲明許多不同種的類型的儲存值,但如果我們需要運算這些資料,我們必須將兩者的類型轉成相同的才能使程式成功運行,我舉了下方的例子讓大家參類型的轉換。
(Swift 自動判斷 twoPointTwo 為 Double 類型 , ten 為 Int 類型 )

  • 如果我們完全沒轉換類型轉換,使 total 等於他們兩者的加總,則會跑出錯誤訊息,因為兩者類型不同
    https://ithelp.ithome.com.tw/upload/images/20171224/20107701VnHGDyINvr.png

  • 因此我們必須將 twoPointTwo 轉為 Int 類型或者是將 ten 轉乘 Double 類型
    *(兩者運算的結果會略有不同,因為在 twoPointTwo 轉為 Int 的時候的值就變成 1 了,所以在計算時要先思考最後的答案的資料類型是什麼,兩者得出的結果 total1 的類型為 Double , total2 為 Int 。)
    https://ithelp.ithome.com.tw/upload/images/20171224/20107701pKyztK3coX.png

元組

我們再聲明變量或常量的時候,我們可以聲明多個值在其中,且這些值也不需要是相同的資料類型。
舉一個例子,學生的資料裡面要有學號、姓名和成績好了,我們將它存在一個 student 常量中。
https://ithelp.ithome.com.tw/upload/images/20171224/20107701aodQ7aY5FC.png

這時候他就是一個類型為 ( String , String, Int )的元組 , 我們也可以將一個元組的內容切開,就可以將他們個別使用。

https://ithelp.ithome.com.tw/upload/images/20171224/201077013OgaaFr7eF.png

當然你也可以在一開始的時候就將他們的內容命名

https://ithelp.ithome.com.tw/upload/images/20171224/201077019ZdMO5vzEI.png

今天的內容大致再介紹聲明的過程及方式,希望在之後聲明變量或常量的時候有幫助。
明天一樣繼續深入了解語法 ( 眼神死


上一篇
Day-04 不同的 Auto Layout 方式
下一篇
Day-06 Swift 語法(2) - 到底有沒有的 Optional 和 nil
系列文
Swift 菜鳥的30天30

1 則留言

0
shavenking
iT邦新手 5 級 ‧ 2017-12-24 18:47:16

感謝樓主好文分享,加油啊!

大哥我會努力專研的程式碼的,一起加油!

我要留言

立即登入留言