變數與常數

定義一個變數:

var obj: String = ""

var 是保留字,宣告 obj 是一個變數名稱,冒號後面接資料形態
以此例子來說,宣告了一個字串變數叫做 obj,並且初始化為 “” 空字串

let obj: String = ""

let 同樣是用來宣告一個變數,但是宣告此變數後,該變數的值無法被改變,
無法被改變的數值其實正正的名字就叫做常數 以上面的例子來說, 若我們多做一件事:

let obj: String = ""
obj = "test"

若我們試圖去更改 obj,讓 obj 從空字串變成 “test” 時,
Xcode 就會報錯,不能更改該值

再來是宣告的變型,其實宣告時不一定要給資料形態,
Swift 會自動從後面的值來判斷 x 可能是什麼資料形態,
只是由於筆者的習慣,會儘量在後面加上該變數的資料型別

var x = "test"

一行內宣告多值:

var x = 0.0, y = 0.0, z = 0.0

我們就可以在 Playground 裡面試著宣告一些變數看看,並且使用昨天的輸出函式來輸出變數:

var str: String = "測試"
let fixString: String = "fixed"

var x = 0, y = 1, z = 2

println(str)
println(x)
println(y)
println(z)

註解

// 單行註解

/*
多行註解
多行註解
多行註解
*/

基本資料型別

Swift 是一個強型別語言,意即若是以下的程式碼是會出錯的:

var x = "test"
x = 2

由於 x 已經被先 Swift 判定是 String 了,後面想指定 Int 資料給 x 就會出錯

Int 整數: Swift 提供了 Int 還另外提供了 8, 16, 32, 64 位元的有號和無號整數型別
若在 32 位元平台,宣告 Int 的話, Int 的長度和 Int32 是一樣的
若在 64 位元平台,宣告 Int 的話, Int 的長度和 Int64 是一樣的

浮點數: 3.2, 0.0 之類的數字,可以用 Double - 64 位元浮點數 (至少 15 位數) Float - 32 位元浮點數 (至少 6 位數)

布林值: true/false

Tuples: Tuple 可以將多個值組合成一個值,例如:

//賦值
let httpSucess = (200, "Success")

// 反過來接值
let (statusCode, statusMessage) = httpSucess

// 若只需要其中一個值,另一個值可以用 _ 代替,但是不能沒有 _ 
let (statusCode, _) = httpSucess

// 也可以用索引的方式拿值
println(httpSucess.0)

// 宣告 tuples 時也可以直接給予參數一個名稱
let httpSucess = (statusCode: 200, statusMessage: "Success")

// 拿值時就可以:
println(httpSucess.statusCode)

同時結合 function 這樣就可以多值回傳了!

下一篇會接續今天變數相關的主題~