『Swift 5學習系列』-4. 基礎補充

Shin Chao
6 min readOct 7, 2019

--

這邊要補充的是一些基本要了解的一些東西,並不一定與Swift有關。

除錯(Debug):

寫程式難免會寫錯,有可能是語法錯誤(syntax error)也有可能編譯錯誤(compile error),那會在哪裡找到這些錯誤訊息好來讓我們修正呢?其實可以在除錯區域(Debug Area)中看到這些訊息。在Debug Area中除了會顯示語法錯誤(syntax error)、編譯錯誤(compile error)、執行時錯誤(runtime error)與當機(crash),還會顯示列印資訊,像是計算的結果與輸出等等…

『範例說明』
3: 宣告一個名稱為information的常數,並初始化時給予一個”Swift5"的值。
5: 將字串”Xcode 11"傳入常數information中,顯示無法修改常數的錯誤。

自動修正錯誤(Automatic Fix):

當輸入的程式有錯誤時,Xcode有自動修正錯誤的功能,但是不是所有的錯誤都能修正,當錯誤時可能是有種不同的圖案。

能自動修正的錯誤為紅色八邊形中間為白色圓形的圖案,點選這圖案後將顯示 Fix 按鈕和相關的說明,按下Fix則會自動修正,但是要注意自動修正不保證一定正確。至於中間是驚嘆號的圖案,是無法自動修正的,一定只能手動修正錯誤。

『範例說明』
5: 變數result無法判斷是整數型別還是字串型別,因為常數information是字串型別,而變數version是整數型別,所以會顯示驚嘆號的錯誤。
7: 將字串”Xcode 11"傳入常數information中,顯示無法修改常數的錯誤,所以會顯示圓點的錯誤。

列印(Print):

這邊說的列印不是指用印表機印東西,而是將列印的內容顯示在控制台(console)上面,寫程式常利用print這個函式(function)來印出運算結果或是顯示錯誤與偵錯(debug),因為在開發IOS APP時,不會跟在playground練習的時候一樣,將結果顯示在右邊。

註解(Comment):

註解其實就是在執行編譯的時候,編譯器(compiler)會自動忽略掉被備註解的部分,所以不論是程式碼,還是一些奇怪又無意義的字元,都不會編譯進去。一般來說註解是用於說明程式代碼用的,是為了讓共同開發的人員,了解這代碼是做什麼的。那如何註解呢?有下面兩種方式:

  • 單行註解(// xxxxx) :在//(雙正斜線)之後的文字會被忽略。
  • 多行註解(/* xxxxx */) : 在/*起始標記(一個單正斜線後跟隨一個星號)與*/終止標記(一個星號後跟隨一個單正斜線)中間的字元都會被忽略。

『範例說明』
4: 單行註解。所以執行編譯時不會出現錯誤(error: consecutive statements on a line must be separated by ‘;’)
5–7: 多行註解。所以執行編譯時不會出現錯誤(error: consecutive statements on a line must be separated by ‘;’)
Swift的多行註解,是可以巢狀(Nested)的包含其他註解區塊,簡單來說就是在/*與*/之間,如有其他單行註解(//)還是多行註解(/* */)都會被註解掉,也就是註解可以包註解。

『範例說明』
5–11: 多行註解。所以如第7行的單行註解或是第8行到第10行的多行註解,都會被第5行到第11行的多行註解給註解掉。

表情符號(Emoji):

表情符號幾乎已經是日常生活中每天都會用到的功能之一,那Swift中要如何使用表情符號(Emoji)呢?其實非常簡單,只要按下Ctrl + Cmd + Space 或是選擇選單中的Edit->Emoji & Symbols,就會出現一個 Emoji的視窗讓你選擇。

分號(Semicolon):

Swift原則上是不需要在每行程式碼之後使用分號來判斷這行程式是否結束,當然你要在每行程式結尾的地方加上分號也可以,但是有一個例外,也就是如果想在一行內完成一個以上的獨立程式代碼,那就需要使用分好來區隔,不過一般來說不會這樣使用,因為這樣閱讀性較不好。

『範例說明』
3: 宣告一個變數emoji,並初始化時將國旗的emoji圖案指定給變數emoji,並且使用分號(;)做結尾,再使用print印出變數emoji的值。

--

--

No responses yet