Swift:基礎型別

Syashin Chen
Aug 9, 2017 · 5 min read

是時候該來爬爬 Swift 這座高山了!


變數與常數

Swift 中宣告變數的關鍵字是 var,常數的關鍵字則是 let

//宣告變數number1的值為2
var number1 = 2
//宣告常數number2的值為5
let number2 = 5

顧名思義,變數可以改變其值常數則是不能對值做更動

另外,宣告變數與常數的時候可以選擇不標明型別


整數與浮點數

若要標明變數或常數的類型,型別要寫在後面

//宣告一個Int變數number3的值為10
var number3:Int = 10
//宣告一個Float常數gravityNumber的值為9.8
let gravityNumber:Float = 9.8
//宣告一個Double變數mathNumber的值為3.14159
var mathNumber:Double = 3.14159

布林與字串

布林值就是只有 true / false 兩種類型的值,一樣可以不標型別:

//不標示型別
let isCool = true
//標示型別
var nowIsWinter:Bool = false

宣告字串的時候一樣有標示型別或不標示兩種做法:

//宣告importantWords常數值為"Perfect!"
let importantWords = "Perfect!"
//宣告String常數language值為"Swift!"
let language:String = "Swift!"

字串可以直接相加,例如,把上面的importantWords加上language

var combine = importantWords + " " + language

combine 儲存的值為:"Perfect! Swift!"。

要在字串值中直接插入變數或常數可以用 -> \(變數或常數名稱),括號內也可以做運算,例如:

var thisYear = 2017
var tellMeYear = "今年是\(thisYear)年 明年是\(thisYear + 1)年"

tellMeYear的值為:"今年是2017年 明年是2018年"。

lowercased( ) 與 uppercased( )

Stringlowercased( )函式可以將字串內容全部轉小寫,uppercased( )則是將字串內容全部轉大寫,例如:

var capsLock = "ABCDE"
var normal = "fghij"
var toLowercased = capsLock.lowercased()
var toUppercased = normal.uppercased()

toLowercased的值為:”abcde”。

toUppercased的值為:”FGHIJ”。


陣列

Swift 中的陣列 Array,跟 Python 還有 C# 中的 List 是同一種東西。

宣告一個變數 animalArrayArray

var animalArray = [ "Cat" , "Dog" , "Lion" , "Tiger" ]

要取得陣列中第一個元素 Cat 可用:

animalArray[0]

Count 屬性

count 函式會回傳陣列的長度:

animalArray.count

回傳值為 4 ( animalArray 中有4個元素)。

append( )、insert( ) 函式

皆為將新元素加入陣列中的函式。

append 會將新的成員加在最後面:

animalArray.append("rabbit")

insert 會將成員加在指定的位置:

//將Cow加在 index=2 的地方
animalArray.insert("Cow",at: 2)

remove( )、removeLast( )、removeFirst( ) 函式

remove 可以移除指定位置的元素,例如:

//移除"Cat"元素
animalArray.remove(at: 0)

removeFirst、removeLast 分別可移除陣列中第一個最後一個元素。

寫法為:

animalArray.removeFirst()
animalArray.removeLast()

reversed( ) 函式

animalArray = animalArray.reversed()

這裏animalArray的值為:[ “Tiger” , “Lion” , “Cow”]

Swift 中的陣列可以直接相加

var anotherAnimalArray = ["Pony","Sheep","Monkey"]animalArray = animalArray + anotherAnimalArray

陣列中的元素取代

例如,將第一個元素置換成 ”Bird”:

animalArray[0] = "Bird"

字典

宣告一個變數 fruitDict 為 Dictionary 型別:

var fruitDict:[String:String] = ["red":"apple" , "yellow":"banana"]

其中 “red” 與 “yellow”為 key 值。

fruitDict["red"]

會取到 ”apple”。

fruitDict["yellow"]

會取到 ”banana”。

如果用一個不存在的key要取值,會取到 nil (空值)。

修改key對應的值

fruitDict["red"] = "Strawberry"

也可以用 updateValue() 函式來修改值:

fruitDict.updateValue("Lemon", forKey: "yellow")

加入新的資料

fruitDict["orange"] = "orange"
fruitDict.updateValue("peach", forKey: "pink")

移除資料

fruitDict["red"] = nil

也可以用removeValue()函式來移除資料:

fruitDict.removeValue(forKey: "yellow")
Syashin Chen

Written by

轉行滿兩年的小RD,喜歡做簡單有趣的東西,常常不小心複雜化。

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade