iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
1
自我挑戰組

老蕭咖啡館,情境式學習基礎iOS Swift系列 第 3

[2019鐵人賽Day3]老蕭咖啡館-平淡的緣分(平淡無奇的基礎觀念說明(上))

二月十三日,晚上。
使用著通訊軟體聊天,等著霏語,等著跟妳談心。
10點左右,妳上線了。
與你聊了一下,霏語:我從外地搬回來了,在幫我妹整理電腦呢。
而我的心中,突然有種...算歡喜嗎?
還是算期待的感覺呢?
因為突然感到距離的縮短,哪怕是那一釐米。

聊天過程中,霏語問了我:之前的資料還在嗎?
亦翔:妳竟然回來了,乾脆我整理一下,明天約個時間拿給妳好了。
霏語:嗯,好啊。那我們就約在我家附近的連鎖麵包店吧。到時你見到我,你一定會驚訝。

亦翔:為什麼?Why?
霏語:因為,我把頭髮用成捲的了。
亦翔:(登登!!) 好,那明天就這樣決定了。

(本故事純屬虛構,如有雷同實屬巧合)

==========

疑?老闆你這次說的這段有點平淡呢(林宇)
嗯,確實是有點平淡,且妳的反應跟我那時差不多,只是我還多跟他說:
無聊無聊無聊,我不是來聽你燃起愛慕之火的呢!!
快給我墨鏡,我要預先有防備!!

只是蕭亦翔那時跟我說:別急,那這麼平淡的故事劇情,你覺得我會衍生出什麼學習內容呢?
天曉得,誰知道你那電漿球會想到啥鬼!!

亦翔:我打算用上回的練習,做一份點擊跳出自我介紹的功能
我連Code都不知道從哪裡開始寫,就要跳進階啊!!別欺負新手!!
亦翔:呃,好吧,那先跟你說說基本觀念跟Code在哪寫。。。

過程就是這樣~
林宇:怎感覺你這故事裡的男主角有點中二呢...
呃,確實是有點啦。。。但他確實是真的很厲害

==========

「變數與常數」
變數(Variable) 「會」因程式的執行而有改變值
常數(Constant) 「不會」隨程式執行而有改變值

很抽象吧,用簡單的例子來說明
你拿塊黏土當變數,拿塊石頭當常數
好~現在你手刀給他敲下去看看會怎樣
啊靠!妳丟我幹嘛!
誰會這麼傻敲下去啊!(林宇)
有啊,我啊!
(林宇呈現出鄙視的眼神)

妳現在看看,是不是在你丟我的過程中黏土是不是變形了
而這就是上面所敘說的變數跟常數的差異

在Swift裡宣告的方式:
變數:var
常數:let

「資料類型」
但你知道變數也是有型態的嗎?
型態?金木水火土嗎?(林宇)
那是五行啦!不是型態,人的愚蠢果然沒有修補程式啊!!
你...不然你說什麼型態!(林宇)

在Swift裡最基本的資料型態(Data type)有以下幾項:
Int 整數
Float 浮點數
Double 浮點數
String 字串
Bool 布林

有沒有發現,這邊有兩個浮點數,這差異在Float是佔4個bytes,而Double是佔8個bytes,而一般來說指定浮點數給變數或常數,預設為Double型態

「字串型態」
由雙引號括號起來的字串
Example:
let stringValue = "Hello Swift";

常用的轉譯字元
\ 反斜線
\n 換行
\r 跳下一行
" 雙引號

「印出」
print可以印出設置好的變數及常數

「註解」
註解敘述(Comment statement)在程式中是不會加入編譯的,為了讓程式易讀性提高,在必要的地方加入註解
單行註解://
多行註解:/..../

==========

那讓我們來用簡易的範例體驗一下吧~

Step1. 首先開啟Xcode,並選擇「Get started with a playground」,啟動Xcode自有的Swift程式碼開發環境
https://ithelp.ithome.com.tw/upload/images/20181018/20091333Y643JJsPud.png

Step2. 接著選擇「iOS」->「Blank」
https://ithelp.ithome.com.tw/upload/images/20181018/20091333SxZPTcQgfu.png

Step3. 接著選擇檔案儲存的位置->「Create」
https://ithelp.ithome.com.tw/upload/images/20181018/20091333WNNIq3ivEr.png

Step4. 畫面會呈現一個乾淨的Playground環境,可以注意到畫面上僅有一行變數「var」
https://ithelp.ithome.com.tw/upload/images/20181018/20091333rqlPOz2Ete.png

Step5.
https://ithelp.ithome.com.tw/upload/images/20181018/20091333vWhve6Adem.png

5-1. 讓我們把宣告var的名稱改為v1,並新增v2,內容為「Hello, Swift」
(在稍等幾秒後,右邊就會即時顯示目前有的變數、常數及各種操作內容結果)

 這邊可以注意到,我有加上分號「;」
 在Swift是可以不用加上分號的,若有多行敘述撰寫於同一行,則可以運用分號將其隔開
 (Example: print(v1); print(v2))

5-2. 開始體驗,把v1賦予新值「v1 = "Hello, John";」,右側會即時顯示出「Hello, John」
把v2賦予新值「v2 = "Hello, Merry";」,右側不會出現任何值,但可以注意到旁邊顯示出錯誤訊息「Cannot assign to value: 'v2' is a let con....」
意思是v2是個常數,不能更變內容值

Step6. 接著要來體驗印出,分三個動作
https://ithelp.ithome.com.tw/upload/images/20181018/20091333aZKp7OaOqD.png

6-1. 印出v1,print(v1),右側數值及底下呈現畫面都是「Hello, John」

6-2. 印出v1+v2,print(v1+v2)
可以注意到右側數值及底下呈現畫面都是「Hello, JohnHello, Swift」兩個值連再一起

6-3. 印出v1+\n(換行符號)+v2,print(v1+"\n"+v2)
可以注意到右側數值是「Hello, John\nHello, Swift\n」中間多一個換行符號
而底下呈現畫面則是「Hello, John
Hello, Swift」

Step7. 那我們來看看註解使用後的會如何呈現吧
如圖,有單行註解、多行註解,右側數值及底下呈現畫面皆是不會呈現出來的
https://ithelp.ithome.com.tw/upload/images/20181018/20091333O2U33oXMgx.png

Step8. 體驗完畢,打完收工

==========

平淡無奇的觀念說明,未完待續~~
明日故事休刊一天,趕一下觀念進度!!


上一篇
[2019鐵人賽Day2]老蕭咖啡館-緣起(Hello初體驗)
下一篇
[2019鐵人賽Day4]老蕭咖啡館-平淡無奇的基礎觀念說明(中)
系列文
老蕭咖啡館,情境式學習基礎iOS Swift30

尚未有邦友留言

立即登入留言