第一章 基礎部分
2. Comments (注釋)
- 在日常的項目開發中,一般會對代碼進行注釋友善閱讀和日後管理。注釋即不可被執行的文本。編譯器 ( Compiler ) 會直接忽略這些代碼注釋。
- 代碼注釋的不同寫法
// 第一種單行代碼注釋的寫法
let a = 0
/* 第二種多行
代碼注釋的寫法 */
let a = 0
/* 第三種
/* 嵌套代碼注釋 */
的寫法 */
let a = 0
總結:swift和C語言的代碼注釋比較接近都是以兩個正斜杠 ( // ) 開始的。第一種代碼注釋的寫法日常中用的比較多。第三種嵌套代碼注釋是在一個代碼注釋中在添加一個代碼注釋。嵌套和多行代碼注釋用在大項目開發中。
3. Semicolons ( ;)
swift語言不像其他語言那樣都要在每個語句後面添加分号,你可以選擇在語句末尾添加分号也可以不用添加分号,但是如果想在同一行寫多個聲明語句的時候就要用分号隔開
/* 分号在多個語句末尾的用法1
此時的分号可有可無 */
let b = 1;
print(b)
/* 分号在多個語句的末尾的用法2
此時的分号必須要加 */
let a = 0, b = 1; print(b)
// 逗号用法參考上一章
4. Integers (整數)
Swift提供了8,16,32,64位計算機的整數存儲。整數可以分為有符号整數 ( Signed Integer ) 和無符号整數 ( Unsigned Integer )。有符号整數在16位的計算機裡可以寫成 " Int16 ", 無符号的整數在64位機裡可以用UInt64來表示數位。
- Signed Integer ( 正數, 零, 負數 ) eg. Int8, Int16, Int32, Int64
- Unsigned Integer ( 零, 負數 ) eg. UInt8, UInt16, UInt32, UInt64
整數的存儲數值範圍表格(後續會補充)
查詢方法:
let a = Int8.min // 查詢Int8最小值
let b = Int8.max // 查詢最大值
print(a,b) // 輸出此值
5. Floating-Point Numbers (浮點數)
- 浮點數即小數 ( 3.14, 0.235, -1.27等),浮點類型可以表示比整數類型大得多的值範圍,并且可以存儲比 Int 中可以存儲的要大得多或更小的數字。浮點數有float和double兩種類型來表示:
- Float 存儲32位浮點數,精确度6個數位 - 數位精度要求不高時。
- Double 存儲64位浮點數,精确度高達15個數位 - 數位精度要求高的時候。
- 根據自己開發的時候,數位要求來使用 " Float " 和 " Double “。
6. Type Safety and Type Inference
- Type safety : swift是一個類型安全的程式設計語言,類型安全就是說你聲明了一個類型後就不能給他随便給他一個值。基于swift語言的這個特性類型安全就會幫你實時檢測你輸入的這個值的類型和設定的類型是否一緻。
/* Type Safety的案例
會報錯 給loveMessage設String類型 而賦Int的值 */
let loveMessage: String = 1314520
- Type inference : 這個和type safety是一個相對的概念,type safety是設定好了資料類型就不能給它賦一個其他類型。而type Inference是也可以不給常量名或變量名設定一個資料類型,如果你給它賦了一個 I Love You,那麼這個常量或變量就預設是String的值了。
/* Type Inference的案例 預設loveMessage是一個String type, 因為我們已經給他指派I Love You是一個string類型 */ let loveMessage = “I Love You”
7. Type Alias (類型别名)
- Type Alias其實就是給以有的類型定義一個備注名而已,在後面用起來比較友善點,但是有注意現有的類型名稱要大些注意區分。類型别名要用到關鍵字 typealias 作為給現有類型添加别名的開始。
// 給AudioSample賦UInt16的取值範圍 typealias AudioSample = UInt16 // 而這時候的的AudioSample就是一個UInt16的最小值0 var maxAmplitudeFound = AudioSample.min
8. Booleans (布爾值)
- 布爾值:true,false 也被叫做邏輯運算符,邏輯運算符隻有true和false兩種說法
/* 布爾值執行個體 給這兩個常量指派 */ let orangeAreOrange = true let turnipsAreDelicious = false
- 布爾值在if-else語句 ( 條件語句以後會提及 ) 中的展現 :
if turnipsAreDelicious { print("Mmm, tasty turnips!") }else{ print("Eww, turnips are horrible.") }
是以這個輸出的是 Eww, turnips are horrible.
因為我們早前就給常量turnipsAreDelicious指派false了。