The Basics 基礎項目 | Swift 5 新手筆記 #1

Constants 常數 Variables 變數
常數和變數聯繫者一個自訂的名稱與一個特定型別的值。常數的值一旦設定就無法再行更改,而變數的值則是可以依程式的編寫來改變其值。

宣告常數與變數
常數和變數在被使用前都必須先宣告,不同的是用 let 宣告常數,而變數則是用 var 來宣告。
☞ let 常數名稱 = 儲存的值
☞ var 變數名稱 = 儲存的初始值

let englishScore = "F"        //宣告 englishScore 常數,值為 "F"
finalScore = "C" //ⓧ 不能改變常數
var mathScore = 59 //宣告 mathScore 變數,初始值為 59
mathScore = mathScore + 1 //讀取 mathScore 值加 1,值變成 60

在定義常數或變數的名稱最好能夠明白表達,除了空白、數學符號、箭頭、專用 Unicode 標量值 (太複雜 🙄 先跳過有空可參閱)、以及方框繪製字元 (如 ┅ ┛) 等禁止使用,其它大部份字元 (包括 Unicode 字元) 皆可選用當作名稱,如果是選用多個單字組合時,則第一個單字字首必須小寫 (例如 giveMeYourMoney),愈完整英文單字為佳,避免縮寫。

可以在同一列宣告多個常數或變數,只要利用 , 區隔即可

let 🦊 = "FOX", 🦁 = "LION", 🐵 = "MONKEY"

Printing Constants and Variables 輸出常數和變數
利用 print( ) 將常數或變數目前的值輸出。此外,可以利用 \( ) 置換方式將變數或常數所儲存的內容讀取出來,變成字串顯示

var money = 5000
print ("欠我 \(money)" + " 元快點還!") //輸出 "欠我 5000 元快點還!"

Type 型別
為了確保程式正確的運作,使用 : 型別 (字首需大寫) 緊接在名稱的後面,使其定義該名稱的類型為何,一經設定型別,之後就只能一直儲存相同型別的值。當有多個相同型別的變數,還可以使用 , 逗號分隔,然後一起宣告。不能重覆宣告相同的變數名稱。
☞ let 常數名稱 : 型別 = 儲存的值
☞ var 變數名稱 : 型別 = 儲存的初始值
☞ var 變數名稱1, 變數名稱2, 變數名稱3 : 型別 = 儲存的初始值

let 💬 : String = "發薪日"   //宣告名為 💬 常數的型別設定為 String
var salary : Int = 1000 //宣告名為 salary 變數的型別設定為 Int
var bonus, healthcare : Int //宣告 bonus 和 healthcare 變數型別均為 Int
var ㊙️㊙️ = 0.1314 //沒有特別定義型別,程式會自動判別為 Double

Integer 整數
指所有的數字 (不包括 fraction 分數),例如 0、10 或 -10 都是屬於整數

Floating-Point Numbers 浮點數
指帶有分數的數字,例如 3.14159 或 -0.5 都是屬於浮點數。在 Swift 中 Float (32 位元) 及 Double (64 位元) 兩種都是浮點數型別,二者差別在於 Double 可以更精準表示更大範圍的數字

var sportScore = 66 + 0.5
//當右邊值同時有 Int 跟 Double,則系統會自動判斷 sportScore 型別為 Double

雖然整數和浮點數看起來都是數字,但是在程式中仍然屬於兩種不同的型別,無法直接相加,所以得利用 Double (名稱) 將整數改變為浮點數型別,以求得相加結果

let 🐷Weight = 90
let 🐶Weight = 2.5
let 🍖Weight = Double(🐷Weight) + 🐶Weight
//宣告 🐷Weight 常數值為 90 (程式自動判別為 Int)
//宣告 🐶Weight 常數值為 2.5 (程式自動判別為 Double)
//宣告 🍖Weight 常數值為 92.5 (變更 🐷Weight 90 成浮點數,再加上原本就是浮點數的 🐶Weight 2.5,程式自動判別為 Double)

Booleans 布林值
在 Swift 中標準的布林型別為 Bool,因為只有 true 和 false 兩種所以布林值被稱為是邏輯。和其它型別一樣不需要特別宣告常數型別,系統也會自動判斷是 Bool。大部部被使用在判斷條件語句時,例如 if 語句

let youOweMeMoney = true
let iOweYouMoney = false
if iOweYouMoney {
print ( "明天再說" )
} else {
print ( "馬上還我錢" )
}
//宣告 youOweMeMoney 常數,其值為 true (程式自動判別為 Bool)
//宣告 iOweYouMoney 常數,其值為 false (程式自動判別為 Bool)
//假如 iOweYouMoney 條件成立,則輸出 "明天再說",不成立則輸出 "馬上還我錢"

在 if 條件語句中,不是布林值被當成是布林值時,系統會警示錯誤;但如果利用 == 比較運算子來比較二者是否一樣,則沒有問題

let apple = 1          //宣告常數 apple 值為 1 (程式自動判別為 Int)
if apple { } //ⓧ apple 是整數不是 Bool 型別
let pineapple = 1 //宣告常數 pineapple 值為 1 (程式自動判別為 Int)
if pineapple == 1 { } //假如 pineapple 等於 1,則執行 { }

Source:
the swift programming language | swift 5.1
https://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html#

--

--